diff --git a/examples/I2C/OLED/needles_indicator/example_ADC_needle_indicator.ice b/examples/I2C/OLED/needles_indicator/example_ADC_needle_indicator.ice new file mode 100644 index 0000000..0e8250f --- /dev/null +++ b/examples/I2C/OLED/needles_indicator/example_ADC_needle_indicator.ice @@ -0,0 +1,35940 @@ +{ + "version": "1.2", + "package": { + "name": "Example_ADC_needle_indicator", + "version": "0.1", + "description": "Example needle indicator.", + "author": "Democrito & Joaquim", + "image": "" + }, + "design": { + "board": "alhambra-ii", + "graph": { + "blocks": [ + { + "id": "a67ac901-d101-4e0c-a18e-6cdf7aa2098c", + "type": "basic.output", + "data": { + "name": "ADC_SCL", + "pins": [ + { + "index": "0", + "name": "ADC_SCL", + "value": "84" + } + ], + "virtual": false + }, + "position": { + "x": 832, + "y": 136 + } + }, + { + "id": "3b74396c-16ac-4d4b-8d5a-30d9fd0fdb21", + "type": "basic.output", + "data": { + "name": "OLED_SDA", + "pins": [ + { + "index": "0", + "name": "D12", + "value": "63" + } + ], + "virtual": false + }, + "position": { + "x": 832, + "y": 216 + } + }, + { + "id": "5f2c5e89-31e3-43b1-a054-2c6c3beab7a8", + "type": "basic.input", + "data": { + "name": "ADC_SDA", + "pins": [ + { + "index": "0", + "name": "ADC_SDA", + "value": "83" + } + ], + "virtual": false, + "clock": false + }, + "position": { + "x": 408, + "y": 240 + } + }, + { + "id": "735964bc-4cc7-402a-b79c-b9d92d9d7975", + "type": "basic.output", + "data": { + "name": "OLED_SCL", + "pins": [ + { + "index": "0", + "name": "D13", + "value": "64" + } + ], + "virtual": false + }, + "position": { + "x": 832, + "y": 296 + } + }, + { + "id": "a5148981-9bf2-40a1-8df6-7be7b038bce3", + "type": "3ca0dd63bc86c0abaf3e09aa84c0638ef56c227f", + "position": { + "x": 624, + "y": 200 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "522af355-ce02-473b-b3fe-967bb0285192", + "type": "basic.info", + "data": { + "info": "Voltage range for the potentiometer: 0 .. 3.3V", + "readonly": true + }, + "position": { + "x": 600, + "y": 304 + }, + "size": { + "width": 152, + "height": 32 + } + }, + { + "id": "874de358-afdf-4bdb-97d2-38cac6a4e486", + "type": "basic.info", + "data": { + "info": "# Graphic display of an ADC using a needle on an OLED screen", + "readonly": true + }, + "position": { + "x": 304, + "y": -24 + }, + "size": { + "width": 776, + "height": 32 + } + }, + { + "id": "89408586-31e3-4d59-84f3-1f3ef3f24533", + "type": "basic.info", + "data": { + "info": "Connect the potentiometer to channel 0 of the ADC", + "readonly": true + }, + "position": { + "x": 504, + "y": 72 + }, + "size": { + "width": 320, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "a5148981-9bf2-40a1-8df6-7be7b038bce3", + "port": "8876bb44-61f1-4174-8ee0-8f1ec3935883" + }, + "target": { + "block": "a67ac901-d101-4e0c-a18e-6cdf7aa2098c", + "port": "in" + } + }, + { + "source": { + "block": "a5148981-9bf2-40a1-8df6-7be7b038bce3", + "port": "d761dd5f-aef4-49f8-a18c-17a6228edbe9" + }, + "target": { + "block": "3b74396c-16ac-4d4b-8d5a-30d9fd0fdb21", + "port": "in" + } + }, + { + "source": { + "block": "a5148981-9bf2-40a1-8df6-7be7b038bce3", + "port": "88774992-2b2a-4642-87ad-15dd71b53013" + }, + "target": { + "block": "735964bc-4cc7-402a-b79c-b9d92d9d7975", + "port": "in" + } + }, + { + "source": { + "block": "5f2c5e89-31e3-43b1-a054-2c6c3beab7a8", + "port": "out" + }, + "target": { + "block": "a5148981-9bf2-40a1-8df6-7be7b038bce3", + "port": "edfb6ee6-b3b3-4f43-8217-f68f70b3a822" + } + } + ] + } + }, + "dependencies": { + "3ca0dd63bc86c0abaf3e09aa84c0638ef56c227f": { + "package": { + "name": "needle_indicator_tvb2355", + "version": "0.1", + "description": "Example simple needle indicator.", + "author": "Democrito & Joaquim", + "image": "%3Csvg%20width=%22407.08%22%20height=%22507.25%22%20viewBox=%220%200%20107.70647%20134.20993%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cg%20transform=%22translate(24.153%20-28.847)%22%3E%3Cimage%20width=%22107.706%22%20height=%2288.826%22%20preserveAspectRatio=%22none%22%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAEAAALXCAYAAAD8NFkQAACAAElEQVR42uy9CZhcZZW47yCjzvzm%20P4Z9UxEBF0zX0p2VkHRtXb0n6aq6tXR1dXeW7iQknZB930N2cBlcQUbUURZFRQVZBIRRxgV1ZFRU%20VBAVZI0LCCHJ97+nkkCALN1Vd7/v+zzv88zzm99o596q7zvn1Ped84Y3AAAAAAAAAAAAAACAs4lE%20IseHIpOHBWPaWcF47t3BRD4cTGgXBWO5ZCienRyOZQvBRHaq/j/PDsSyi4Lx7Gr9f94cjGUvF8v/%20s/7/Jv87+f8j/3/l/0b+b+U/o/yfJf+Z8p+t/3fIf5f8d/LkAQAAAAAAAI5CXaRwciieGxlM5FK6%20A3qSvSUYz3wqFNO+Goxq9wai2gOBaObhQCT1ZE0k/beaSOp53Rdq6lMv6r5UU9+xR3fv8PqOfcMn%20TFaOUP9b5G/a/7fJ36j/rfI3l//29N/k31L+N+n/Nvk3lv+t+r+5/G+XZ6A/C3km8mz4hAAAAAAA%20AIDjCDV0nh+IZduDsezMYDy3PhjXPhGMaTcGYtrdeqL7Ez3p/W0gmv6zngT/dX8CryfuTknaHe7+%20goIUEtJ/lWcoz7L8TOXZ6s+4/KzlmevPXt6BvAs+kQAAAAAAAFARgWTp1FA02xKIZ5frCeinJfkM%20xDK/CtSnn5bklETdqcWD1IvyjsrvSt6ZvDv9HZbfpf5O+WQDAAAAAAD4jEik9y2hWP7C8t33aPaK%20YFz75oEj+I+Xj6876Zg9Gn3CYJ+8Y3nX5asJ+ruXz4B8FuQzIZ8NviEAAAAAAAAuoq69/V9DCa21%20fN9cjudHMz/QfbR8v76+Yw/JMB6jULCn3MdA/8zIZ6d8/UD/LMlnSj5bfMMAAAAAAABsoHxkP6F1%20hmLaR/VE7b/1hO2PHNVHS64c6J81+czJZ08+g1w1AAAAAAAAMIi6WO5caQAXimevCUS1+8td8+tT%20L5GQosOKAy/tn4Kg3S+fVfnMymeXbzAAAAAAAMBhqI1qdXritDQY075UE838LBBJP0tHffTCpIPy%20Z1n/TMtnWz7j8lnnGw8AAAAAAL4gkNTOKXdsj2k3B6Lph2oiqb8Ppxkf+s39TQr/Lt+B8ndBJlHo%203w1WCAAAAAAAcC2jm4v/HorlpssvoHqy87ua+tRuEkDEo14r2C3fFfnOyHdHvkOsJAAAAAAA4Dgi%20kcjxgVi2PRjVrgpEM/+nJzPPkdQhGlIYeE6+U+Xvlv4dk+8aKw4AAAAAAFhKKJ4bGYjntgfj2n2B%20SPoZjvQjWneVQL5z5e+e/h2U7yIrEgAAAAAAGEY41nl2KJ5dEoxptwWi6cdo2IfowAaE+ndTvqPy%20XZXvLCsXAAAAAAAcm7VrjwvGtVwwlr0+EM38Ruaik2QhuvIawYvyHZbvsnyn5bvNAgcAAAAAAG8I%20xnJJPVH4QiCafrSGY/2IXj0tsE++4/Jdl+88Kx8AAAAAgE+QO8ShWPbK8oi++o49JEiIviwK7Nk/%20ojB7JX0FAAAAAAA8RDCee3cwlr28Jpr5GWP6EPFI4wlljZC1QtYMVk4AAAAAAJdQ19h1RiiRXReI%20Zn5YE0k9T4KDiEMuCuhrh6whspbImsLKCgAAAADgEEY3F/89mMjOD0a1e2si6b+SwCCi8UWB9F9l%20jZG1RtYcVl4AAAAAAIuIRCLH64H41GBMuzVQn36aBAURrVbWHlmDZC2SNYmVGQAAAADAQEKRycOC%208dz6QDT9S5kJThKCiA5qMrhX1iZZo2StYsUGAAAAAKiA4cn824PR7BUy1mv4BEb3IaIbPDCKUF+7%20ZA1jJQcAAAAAOArBRD4sc7wDkfRTJBOI6PprA/paJmuarG2s8AAAAAAAOrVxrSkU026uiaT+RtKA%20iB6eOPA3WetkzWPlBwAAAAD/sHbtcaF4ticQ076rB8UvkBwgog8LAi/IGihroayJbAwAAAAA4Cki%20kd636MHukkAs89Oa+o49JAGIiC83Ftwja6OskbJWsmMAAAAAgCsJJEunhmLZHYFo5rfD62nsh4h4%20TOulsWDmt+W1U19D2UkAAAAAwNGMbi7+ezCWvTwQTT9GQI+IWGVjQX0tlTVV1lZ2GAAAAABwDMF4%20bkYglv45v/gjIpp0QkBfY2WtZccBAAAAAFsIx7ITgjHtzpr61G6CdEREq3oIpHbL2itrMDsRAAAA%20AJiKHnieFYhmPh2IpHcRjCMi2nxdQF+LZU2WtZkdCgAAAAAM4QJNe1MwkV2lB5qPEHQjIjq1f0Dm%20EVmrZc1m5wIAAACAIROOaxk9qPxBTX3HXgJsRETXjBzcK2u3rOHsZAAAAABwVALJ3PBAXPtKTST1%20PME0IqLLCwL6Wi5ruqzt7HAAAAAAUCYUmTwsEMt+IBBJP0HQjIjo2f4BT8haL2s+Ox8AAACAH5P/%20eO7iQDTzC8b6ISL6bNygvvbLHsBOCAAAAOBxAsnSqaFY5vM1kdQLBMOIiL6/LvCC7AmyN7BDAgAA%20AHiIYDwbDUS1+/nVHxERD386QLtf9gp2TAAAAAC3snbtcYF4dnkgmnmcIBcREQc5avBx2TtkD2Ej%20BQAAAHABdY1dZwRj2etr6lMvEtAiImJlowZTL8peInsKOysAAACAAwnGcslgVPsJR/4REdHIqwKy%20t8gew04LAAAAYDdy5D+WXRuIpJ4kWEVERHPHDKaelD2HqwIAAAAAFhOMaWfp3lhTn9pNYIoe/OVR%20jiJL5/KygUh6v1Ex87L6d+A1ZlUwnlWhsrn9JsR82bDYIBZe4/7/Xehlc6/838f3/2eW/7Nf8993%206N9S/tsO/J0H/275N8i/hXeKHrwqsFv2INmL2JEBAAAATCSU0FoDUe2B4RM48o9uSBQ69ifxB5J3%20SZzLCbqeZO9PyAuqNtmpahuLqq6xS9U1ldSI5m5PKv82+TfKv1X+zeXiw8sFh+whRYUDRQSKB+gK%20y1MFHpC9iR0aAAAAwCAikcjxwVh2YyCSfoqAE239db6c0B9M5vf/wl5OZiWRTx6ayHs3mbfe0isF%20BP0Zhw8UEMonFvR3cLB4IO+GUwdo71WB9FOyV8mexc4NAAAAUAEHjvzfxJF/tORX+9ck+HJEXn6x%209vov9J49cVAuFhymUMBnHa25KnATVwUAAAAABkkgqZ0TiGl30+UfDQzKy8fMDx7HLx/FP3gMnwTf%20l4UCefflUwXlEwUHryOk9/cx4DuDBk0VkL1M9jR2dgAAAIDDUJcsvDcY1+4j+cfKfsk/kOTLfXu5%20a0+Cj0YUCspXD/afJpDPGN81rGjEoL63yR7HTg8AAACgE2rQQoFo5ofDJ3CfF499Lz9wSLJ/8Lg+%20SStaWiA4cN3gYHFAPpP0I8BBNBGUayk/lD2PnR8AAAB8SSCaHx2IZX5KYIiH66q///h+ttwArpzs%20N5Hso9NPDxwsDuTLn9391wsoDuBhmgjqe5/sgUQCAAAA4AvCseyEQDTzCwJB3J/sZ8pz6MPlZJ8j%20/OjRqwUy2UCKA/Hs/iaFFAdQigH6Xih7IpEBAAAAeJJgLJcMRNMPEfj5t/u+HJ0uJ/uNRTWCZB/9%207sG+A+WTAxrTC3xdDEg/JHskkQIAAAB4glAiNykQzTxCoOevbvz77+3vP8pPwo84hMLAy1cKNKYV%20+O9kwCOyZxI5AAAAgCsJx7IFPaD5I4GdP470yzz2/Xf3SfgRjb9O0Fn+jnGVwDfFgD/KHkokAQAA%20AK4gmMhO1QOYxwnkvNrdOl2eqy6j02jWh2hfE8Ly+ML4/gaETFfxbDHgcdlTiSwAAADAkejB6OxA%20JP0UgZuX7vHv79BfTvjlHj/JF6KDRxcWy99V+c7Kd5c1zEPFAH1vlT2WSAMAAAAcQTCeXagHKM8S%20qHniV6fy7HPpZE5Sheh+5bss32n5brPGeaIY8KzsuUQeAAAAYAuheHayHpA8QWDm6o7UB+7yk/Qj%20+qYoUO4twEkBlxcDnpA9mEgEAAAArEn+G7RQIJp5kEDMncf75Q4xHfsR8eVJBHGuD7j49NYvwtFc%20kMgEAAAATCGQLJ0ajGp30YDKTUl/6pU7/ST9iHiMKQSv9BRgNKGbGrYGY9qd4WbtFCIVAAAAMIQL%20NO1NoXj2mpr6jr0EW84f1yezxencj4hGTSCQNYWxhK5Y//cEoplP19X1/zORCwAAAFRMMJFdVRNJ%20/YMAy7lJvzT8Cifyqq6RpB8RzZw+0FVea2TNoSjg6BNg/wjEsyuIYAAAAGBIhGI5LVCffpqAyqHN%20/KSDPyP7ENHOJoONBycP0E/AqWMFw3EtQ0QDAAAAR6U2qtUFo5lfE0A5b3Qf9/oR0en9BBhF6MD9%20I5b5VSCWqyXCAQAAgFdR19h1RjCm/TcBk/Pu9o9oJvFHRDdZopeAAw3GMvcMjxdOI+IBAADwOZFI%2071tCscznafrnhMQ/pYIHx/eRSCCiV64N6GuarG2yxrHW215g3huMZj93XnPzm4mAAAAAfEgwlt1Y%20E0m9QGBk7wi/UJz7/Yjooz4C+prHCELb954XQrHsOiIhAAAAvyT/8WxXIJJ+lkDIzsZ+dPNHRKYN%20hMrTBmgsaGPzwGcCsWyByAgAAMCj1CZyYwLRzG8JfOxq7JensR8i4hEbC+ZpLGhfcfqhYEwbRaQE%20AADgEera2/9V39xvJdCx0EMb+5H4IyIO3qZXGgsOp7GgpYZi2s1jx2r/QuQEAADgYoKx7Ezu/Vs/%20yo9AHhHRGBk9aHm/gH+EEtk+IigAAACXEUhq5+hB0y8IaCy5U6nCCY76IyKafmVAeghE6CFgSTEg%20mvlZOJY6m4gKAADADb/+R7NXMPLP/HF+0uGa5n6IiDY1FZQpA4wdNH+kYCz7YSIrAAAAhxJuyMcD%20kfRTBC5muf+ev8y8JghHRHTI2EF9TS73D5hA/wATT7w9FUrkI0RaAAAADuGCiPZvgah2O4GKyff8%20Oe6PiOj4hoL0DzBPaTIcSJb+H5EXAACAjYTi2dk0/jOlMZIKJXKqronj/oiI7usf0FVew2UtZ08z%20fH98IRTPXUwEBgAAYDF1sdy5gWj6lwQkht59VMF4VtU2FgmiERG9cl1AX9Nlba9h3KDRp+QerIl3%20vouIDAAAwAKC0ezHafxn4PFGOe7PPX9ERO+PG5T+AVwXMLhxYOZjRGYAAAAmEYprDYFI+hkCDyOO%20MzLWDxHR7+MGaxg3aMypgPr00+F4NkGkBgAAYBDS+C8Y0+4k0DCkqZGqTXLcHxERD04XKB6YLsAe%20acAe+y2JWYjcAAAAqiAQz86tqU+9SHBR3V1/mSdNkz9ERDxqM0F9r6B3QLV7bupFiV2I4AAAAIZI%20qKHz/GA082sCiqrmGu8f7Udwi4iIQ+kdIKMGuSpQbb+dX0ssQ0QHAAAwCILR7BU0/uPIPyIiclXA%209Y0D9ZiGyA4AAOAIBJLaOYFo5hECh2qO/NPoDxERjW8kyFWBqsYJPiIxDpEeAADAIYTi2SV6cLGH%20YIEj/4iIyFUBDxbr94QS2mIiPgAAIPmPTB4WiGV+RIBQwZH/Ro78oz+89MNXqqd2/cUVyt/KO0Nf%20XBVo5KpAZacCtPvrEtpbiQABAMCXBONariaSeoGgYAhH/hMc+UeKABQBEB12VSDBVYEh7ed67BNM%20ZLNEggAA4BsikcjxoZh2M4EAR/4RKQIgclXAt/t7TPuGxEREhgAA4GlCsfyFeoCwi82fI/+IFAEQ%20uSpAoT/9bDiujSVCBAAATxKMa58YXt+xj03/2Ml/XWMXgSQiRQBEd18V0PcyigGDUI+NgrHMx4gU%20AQDAM9TFcucGoulH2ehJ/hEpAiBSDMAjNQ1M/74m3vkuIkcAAHA1gXh2OaP/jpX8Z1VdE8k/IkUA%20RK83Eewq73ns/UcfJag/o6VEkAAA4Dre36idGIxqP2FDP0ryH8/S6R+RIgCiLycKyB5ILHC0UwGZ%20H8sYZSJKAABwBaGE1snovyPe+1Mhkn9EigCIuH+8oBQDGC94xFGCgXguT2QJAACORcbcBGPabWzc%20R0r+cyT/iBQBEPGwxYAcxYAjnRyMarcwShAAABxHOJadUFOf/gub9evu9qlQguQfkSIAIg6qGKDv%20mTUUAw5zKiC9K9SQHUfECQAAjiAYz3yK0X+HT/5HkPwjUgRAxKFJMeDIowTj2ieIPAEAwDaGxwun%20yTgbNubXJv95PYgh+UekCICI1Vkq76kUA143SvDhQLLjVCJRAACwlNq41kTzv0OT/5QKl5N/gjZE%20igC8M0SjDZeLASlijleaBv4jFNcaiEgBAMASAvHcdo7/v/LLf7iB5B+RIgBFAERLigENnAw49HpA%20KJ7dTGQKAACmcYGmvSkY1+5j4xUP3Pnn2D8iRQCKAIg2XBPIlfdi4hGZHpD5Tl1d/z8TqQIAgKHU%20JQvvDUTSz7DZ6pttLEu3f0SKABQBEB0wTUD2ZGKTySpQn346GM+9m4gVAAAMIRjLTamp79hDI56M%20qmvsIvBCpAhAEQDRScUAfW+WPZorih0vBRK5biJXAACorgAQzX7O98l/JK1qk50EWogUASgCIDpY%202atlz+bEovYZIlgAABgyocjkYYFY5le+7/jfUCCwQqQIQBEA0VXNAwu+nyQQiKZ/WZfQ3kpECwAA%20g/v1P6FdpG+ez/m42+6Bpn8EUogUASgCILrVcvNAH08SkFguFMtfSGQLAABHJRDPrqjx8fi/YJym%20f4gUASgCIHqqeWA86+c+Afv02G45ES4AALyetWuPC8a0b9H0j4AJkSIARQBEmgd6Lc7RbpdYj4AX%20AADKhGOdZ+sb4+P+bfpXJEBCpAhAEQDRF80Di75tHiixXl1CeweRLwCA3wsAcS1TU5/aTdM/RKQI%20QBEAkeaBno9/docT2TQRMACATwnFtI8On9Dhw6Z/eQIgRIoAFAEQsRwT+K95YIcKxLMfIRIGAPAR%20de3t/xqMaj+h6R8iUgSgCIBI80B/Ng+UWFBiQiJjAACPE0zkwzWR9F99d++/kXv/iBQBKAIg4lH6%20BTT6r1+AxIQSGxIhAwB4lHBMK9XUd+z109H/MEf/ESkCUARAxKH0C/DZFQGJDSVGJFIGAPDaCYBY%20dqOf7v8HYxpH/xEpAlAEQMTKrwjosYSf+gRIrEjEDADgmQJA5jo/df2vTXYSwCBSBKAIgIgGjBTs%209NUUAYkZiZwBANzM2rXHBaKZH/hl4wrFs/qGza//iBQBKAIgopGWyjGGb3op6bGjxJAE0gAALiMU%20mTwsEE0/SuM/RKQIQBEAEWkcOLRCQPpRiSWJqAEAXEIwnnu3LyYA0PgPkSIARQBEpHGgeZMD9JiS%20yBoAwOGEG/LxmvrUbhr/ISJFAIoAiEjjwCp7Le2W2JIIGwDAuScAZnh9BCCN/xApAlAEQEQaB1o7%20QlBiTCJtAACnFQBi2Z00/kNEigAUARCRxoHmnMLM7iTiBgBwTAFAu8nrjf/qaPyHSBGAIgAiOvmK%20gA8aB0rMSeQNAGAjF2jamwJR7QFPN/5roPEfIkUAigCI6KLGgQ3ebhwYiGV+KjEokTgAgMUEkqVT%20A9HM4zT+Q0SKABQBEJHGgdaOEMw8LrEoETkAgEXUxguBmvrUcx5tPkPjP0SkCICIHmoc2OHVZs3P%20SUxKZA4AYPYJgFi2XV90X/JoVZlf/xGRIgAieu5UgMQ4Hi0EvCSxKRE6AIBJhGK5S4bXd+zz3ibC%203X9EpAiAiD7oFTChw4s9nPZJjEqkDgBgMMFY5mPe7fzfRXCAiBQBENEHEwS6PDtBQGJVInYAAMMK%20ANodXtwsQvEcAQEiUgRARN8pMZBHGzvfQeQOAFAFkUjk+EA086Dn7o9FUqq2sUgQgIgUARDRv00D%209VhIYiIP9nh6UGJYInkAgCEi81cD0fTvvFchzuobH83/EJEiACKixEQSG3mvEJD+ncSyRPQAAIM+%20AdD7lkA08yij/3CwTkhNV7NXrFdt3QM8D6QIQBEA0VBlb5E9RvYangejBIdwIuBRiWmJ7AEAjnUC%20IKL9WyCafozRfzgYR7b0qOyMhWrV9h1q7c7L1KINm8v/bzwbpAhAEQDRqH1G9hbZY2SvkT2HfYZR%20gkM4EfCYxLZE+AAARyAUmTwsEEk/weg/HIyx7Ax1ydpN5cDsUDN9C3g+SBGAIgCiIcqe8tp9RvYe%202YN4PowSHOQkqCckxiXSBwB4DXWRwsmB+vTTjP7DYzmqtUd1zVmq1uzY+brATFy+ZZsa0z6FZ4UU%20ASgCIFal7CWypxxur5E9SPYi2ZN4VowSPGZcqMe4EusS8QMAHGB4vHCavtA/y+g/PJaNnRe/fCzz%20aHYNLOV5IUUAigCIVSl7ybH2G9mTZG/ieTFKcBA/ED0rMS+RPwD4nmBMO6smkv4ro//wWL/GTJm/%204pjB2EFXb9+pxnfQwAkpAlAEQKxM2UNkLxnsviN7FKfQGCV47Fgx/VeJfckAAMC3BJLaOfqi/ndv%20jP7TGP1nYlfmpZduHXQgdtC+Rat4fkgRgCIAYkX2LV495H1H9iqm1Jg5SlDzSCEg9XeJgckEAMB3%20hBo6z9cXwecZ/YdHctykqWrGkjVDDsIONZ6bybNEigAUARCHZELfO6rZe2Tvkj2MZ8kowaMUAp6X%20WJiMAAB8QziuXaAvfv/wRPM/Rv+ZYse0S9SKrdurCsLEgVUbeJ5IEYAiAOKQlL2j2v1H9jDZy3ie%20Jo0S9EDTQImFJSYmMwAAH5wA0EI19akXXX/8P55lIzbBCanpas7K9VUHX4fK0UykCEARAHEoV9CM%203INkT5O9jWdrvBKLuf9EaepFiY3JEADAswSi+dH6Yrfb7Qt2uKHA5muwI1t6VHbmIrVq+w5Dg6+D%20nZvlP5/njBQBKAIgHmsvGswEmqEqe5vscexFxisxmQcKAbslRiZTAADPEUxoF+mL3Etu7/5fR/d/%20w41lZ6hL1m4yPOg61EzfAp41UgSgCIB4VDP9C0zdi2Svkz2PZ23w9QAPTA+QGFliZTIGAPAM4YZ8%20vKa+Y4+r7/9HM9z/N9gLJ05VPfOWqzU7dpoadInLt2xjdBNSBKAIgHjUUbSyV5i9H8meJ3uf7IE8%20d4P7BOixmsubTe+RmJnMAQBcTyiabXF7ASCUyLHBGuio1h6VnbHQkMZ/Q7FrYCnPHykCUARAPKwl%20fY+wck+SPVD2QtkTef7GKTGb2wsBEjuTQQCAewsA8exkfTHby/g/PGh771y1eOMWSwOtg67evlON%2076A5E1IEoAiA+Gplb5A9wo69SfZE2Rt5D4wRPCT+3CsxNJkEALjvCkAsW3BzAWD/+L8uNlODbMjP%20UvNWb7QlwDrUvkWreB9IEYAiAOKr7Fu82vb9SfZI2St5H0ZdD+hy9RhBiaElliajAAA3nQDo0Rev%20fa4d/xfT2EANHPnXv8T+4OpQ47mZvBukCEARALFsQt8TnLRHyZ7JSEEDxwjqMZ2LCwH7JKYmswAA%20F5wA0ErDXVwACDfk2TQNsD7dp3ovWW7b8cqjObBqA+8IKQJQBEAsK3uC0/Yp2TtlD61P9fGODBkj%20mHdvnwA9ppbYmgwDABxLMJHNuvUEQE19StUy/q9qm4qz1axlax0XUL3Wtu4B3hdSBKAIgD5X9gKn%2071eypzYVL+Z9VdsnQMYI1qdceyJAYmwyDQBw3hWARG6SW3sAMP6vOke39qrU9PlqwbpLHR9MHXTR%20hs1qZAsdmZEiAEUA9KuyB8he4JZ9S/bYjmmXME3Ap2MEy80C9VibjAMAHENtvNDk1gJAKM74v0q9%20aPI0VZyz1JK5ymaY6VvAe0SKABQB0Kdm+he4cu9avnmb6py9RI3T92DeY4VjBOM51xYCJOYm8wAA%20+wsAyUKspj61x4V3rBj/V2XDvzU7droygHo5kNqyTY1pn8L7RIoAFAHQZ47V1363FrAP7RtwEYWA%20qsYIDnfhGEGJuSX2JgMBAPsKAI358TUR9xUA9L9Z1TUy/q9andb1vxK7BpbyLpEiAEUA9Jmluctc%20v39NZ+Rt9dcD9FhQYkIXxrF7JAYnEwEA6wsAieIYfRF6yZ3j/7j/b9RpACd2/x/qLynjOxjFhBQB%20KAKgX5Q13+1716rtO/R/B6cAjLHkyjGCEoNLLE5GAgAWXgHorKuJpHe77v5/gvv//Jryevv4NQUp%20AlAEQN/Yt9j9p9ikHw/v0uA+AYmcCwsB6d0Sk5OZAIDp1CWKNYH69ItuWyjDDQU2OZPuVa7Yst31%20AVU8N5P3iRQBKAKgx03oa73b9ytpDEg/G3OUWNF1E670mFxiczIUADDxCkDpfYFo+gUaAOKhajMW%20uj6oGli1gXeJFAEoAqDHnauv9W7fr9J983mXNAx8zajr9AsSo5OpAIDhhBo6zw9EM8+7rIMqDQAt%20UGYWL964xfWBVVv3AO8TKQJQBECP2tYz4Pp9auH6zWpkSw/v04qGgfUplxUCMs9LrE7GAgCGMaK1%2081364vKcqxbDSFrVNdEA0CrbPRBcLdpAcIUUASgCoBeVtX3Rxs2u36daS3N4n1YVAvQYUmJJlxUC%20npOYncwFAKom3NJ5djCW+ZvLFkE1ggKA9ccsV7v/mGWmbwHvEikCUARAr11b61/g+v1pzsr1vEur%20lUKAHlO6awpW5m8Su5PBAEDF1DV2nRGMaX9x1+KXZdOyq+FS3gMNl7bQcAkpAlAEQBrYOrCBbXYG%2079MmJbZ02Tjsv0gMTyYDAEMvACT636ovIk8yAhCHYr8HRi91DTB6CSkCUARARtk6x+mMsmWE4NAL%20AU9KLE9GAwCDJhLpfYu+eDzKCEAcqhNS09Xq7TtdHWzJ3z++YzrvEykCUARA9iTbXbV9h74nTeN9%20MkKwkkLAoxLTk9kAwDHRNO2NwVj2QfdMAJARgEU2J351MdQ+fnVBigAUAdD19nngdFpxDqfTnDVC%20sFiOPV10TfZBie3JcADgqATj2e8xAhC5f3mZiudm8j6RIgBFAKRPjX19ajbTp4YRggYUAvTYngwH%20AI5WALiNEYBoTCfmha4PvgZWbeBdIkUAigDo1ok1q9w/sSbdN593yQhBowoBt5HpAMBhCgC5a101%20ArCZAoDTZzIv3rjF9QFYW/cA7xMpAlAEQJfZ1jPg+v1n4frN5b2U9+lk3TVCUGJ9Mh4AeKUAEMt+%202EWVTDYdgjDLXLSBIAwpAlAEQIrQ1ttamsP7dMsIwXjWTT0CPkzmAwByAmCBe0YA5tlsOI5puZm+%20BbxLtNXU9MXl5NoNyt/KO0Ouo1XnnJXreZeuGyGYd9OJgAVkQAA+JpwopGvqO/YxAhBNa8yU80Bj%20pi00ZkJEpDGthY1pszN4n4wQNHOy1j7JAciEAHxIbaI4piaS2sMIQGRE07HtGmBEEyKi0/XCiNrp%20jKhlhKAV8bWeA0guQEYE4CNGxDvfFYimX3BDAYARgO53Qmq6Wr19p6uDMvn7x3dM530iIrLXmOaq%207Tv0vWYa79MTIwQ7XNBoO/2C5ARkRgA+oK69cHIwpu1yfgEgRQGAX2ccZR+/ziAiOtZ+D5w6K87h%201Jm3CgEpFzQK1HZJbkCGBOBhLoho/xaKZx91RQGgiQIA9zQdeE8zN5P3iYjotP4zeQ/0n9lM/xnP%20FQKa3FEIkNxAcgQyJQAPomnaG8OJ3I9dcEeJAoBnOzYvcH2QNrBqA+8SEdFpk2hWu38STbpvPu/S%20q4WAiPMLAZIjSK5AxgTgMcLJzi+6owBQYtPwqDK7edHGza4P1Nq6B3ifiIgOsb1nwPX7ysL1m8t7%20JO/Tq4WAkjsKAQ2FG8iYADxEbbJrndMblNRE0hQAfGCbB4K1RRsI1hARneCo1h61eOMW1+8rraU5%20vE8nNpuc1Kna8pmyzTnNgEJA2gUTuTrXkjkBeKEA0NiVdXr1MUABwFfKkXq3B2yZvgW8S0REu6+Z%20zVjo+v1kzsr1vEuHOG5iUW1bd6G687PnqYduPl395b/f+irXrZhQdSEg4PRCgJ4zjEgWM2RQAC5G%20X3DCgWhmj9MLACMoAPirgVPOAw2cttDACRHR9oazWz3QcDY7g/dpsxfpyf+O9ReqR2479XWJ/6He%20/Kn3Vv/f54JCgOQOI1t6Q2RSAC5E//KeHoxpf3f4fFIKAD61zwOjnLoGGOWEiGiX3R4YPTud0bP2%20/vLfXlQ7N4xVv7/tlKMm/wf94seGG/PfLYWAaNrpowP/Nnpi4TQyKgAXMVbT/sXpowAD0Yy+EFIA%208KvjO6ar1dt3ujp4k79f/h28T0REi+9qp9y/h6zavkPfQ6bxPm2yt69N/eymswaV/B902owWA/+G%20UjkWdvbowNwjkUjvW8isANzBP4UT+fucXwBgA/K7JQ/8itPHrziIiJbbv8T9p8mKczhNZtev/5+6%20rFbtunfYkAoA//vlt5ny9zi9EBBuyH9HcgvSKwCHE24ofJoCALrlPqfcrXf9fc7cTN4nIqJFNuRn%20ub+vzGb6ytjy639/q/r5TWcOKfk/6MZV4037uxxfCEgUPkWGBeBg6pKdi5w8CjAY09iE8FVm+he4%20PpiTaQe8S0REa5y72v0TZtJ983mXFv/6f/XlQ//1/6CP3XlSeVygmX+jxMiOHh3YWLyETAvAgYxo%206mypiaT2UQBANzmypUct2rDZ9QFdW/cA7xMR0WTbe+a6fr9YuH5zee/jfVpjR1dK/eTLb68o+T/o%20NR8MWfK3OroQoOcYtU2djWRcAA6itrX0vkA0s5sCALpRSaDdHtRJIYOgDhHRPEe19qjFG7e4fr9o%20Lc3hfVrkwgWJ8q/41RQAHr39FJXI5Cz7m51cCJBcI9TQeT6ZF4ADGNs47UR9wdjl2AJAPMtGhMdU%20jtS7PbDL9C3gXSIimmR2xkLX7xNzVq7nXVrgmNYu9Z+Xh6tK/g+6fEnU8r9fYmcH/7D3bF2i/61k%20YAA2coGmvSkUz/3GuaNFKADg4EzkZrq/0dMWGj0hIprSSHbiFLVi63b3N5LNzuB9mmxzTlP3XXeO%20IQWAO64537Z/R8jBhQA99/hVJBI5nkwMwCbCicLtDl4g2IxwSPYtdv/Ip64BRj4hIhpttwdGyk5n%20pKzp9l/crB657VRDCgCP33mSas3bO9FKYmnHxvkN+ZvJxADsKAAkO1cNd+gkAAoAWInjO6ar1dt3%20ujrIk79f/h28T0REY5yQcv/esGr7Dn1vmMb7NKvJsO4HLx1Tcff/w7lp9XhH/NscWwiQiQENhSVk%20ZAAWUtdUusipkwAoAGA1lgaWuv7Xnj5+7UFENO7X3SVrXL8vFOdwSswsZfzfVz95gWHJv/jda89R%20I1tKjvk3OrUQUFOf2luXLI0mMwOwogDQXjg5GNP+TgEAPdnMp31K+W696+995mbyPhERq7QhP8v9%20/WI20y/GLBu1rPr+9WcbWgB46tsnqFSpw3H/VqcWAvSc5G81rZ0nkKEBmIimaW8MJQo/owkgetlM%20/wLXB30y7YB3iYhYnfNWb3T9fpDum8+7NMH8lEnqoZtPN7QAIF6+aYxj/81ObRYYTuR++oa1a48j%20UwMw6xRAsvMqCgDo+bt9LT1q0YbNrg/82roHeJ+IiBXa3jvX9fvAwvWby3sa79NYL7mkQf35rhMN%20LwDc8ZnzHXUNwE2FgNpk8eNkagAmMKKpq1ATSTnvGBAFADRBSaDdHvxJIYPgDxFx6I5q7VGLN25x%20/T7QWprD+zTYyzeOVbsMTv7FX37jDBVN5V3xDIIOLARIjlLb2JUlYwMwkFEt3e8OxjK7KQCgn5Qj%209W4PADN9C3iXiIhDNDtjoevX/zkr1/MuDXRsW5f64seGG578i0/efUL5eoGbnocTCwGBaGZ3XXPP%20uWRuAAYQSJb+XyiR/ZPzGoFQAEBzTeRmur8h1BYaQiEiDinZmzhFrdi63f0NYrMzeJ9GxQOZXLlj%20vxkFAHHF0qgrn4vE4o67IpzI/bGuvf9fyeAAqiSc7LzNgZ1A2ZTQEmXcntsDwa4BRkMhIg7W7nnL%20XL/uT2dUrGFqPZPVr75xhmkFgM9+KOTq5yMxueP6AzR2fpMMDqAKahu7VtTUpygAoG8d3zFdrd6+%2009XBoPz98u/gfSIiHt36VJ9as8Pda/6q7Tv0NX8a79MA58xNqsfuPMm0AsB9171TjWnrcv1zcloh%20QHKXumRxGZkcQAWMbOmZEIhm9lEAQL8rv6S7/VehPn4VQkQ8pjOWrHH9el+cw+kvI9y6bpzade8w%200woAj9x6qmrKeudqq9MKAZLD1DZ2jSejAxgCdY1dZ4Tiub9SAEDsLt+pl7v1rr8fmpvJ+0REPIIN%20hVnu7wOzmT4wVe/5rV3q2isCpiX/4jP3DFPTZrR47tk5rRAguczIlt7TyewABlMAqOv/59pk4QEK%20AIivKF323R4cyrQD3iUi4uGdt2aj69f5dN983mUVxlJ5dc/nzzW1ACDKKQOvPkOnFQJqGwoPSG5D%20hgdw7FMAV9bUdzinABDNsDGh7Y5s6VGLNmx2fYDY1j3A+0REfI0Te+e6fn1fuH5zea/ifVZmqiul%20fvG1M00vAHzlkxd4/llK7O6c/gAdqi7ZdRUZHsBRGNXU3RGIpp10n4eNCR1jq55Auz1IlEIGQSIi%204iuOau1Rizducf363lqaw/us0Jmzm9SfvnWy6QWA719/thrXXvTFMw04qBAguc3IplKKTA/gMIxt%206z4rFM8+TwEA8cjKkXq3B4pytYF3iYi43+yMha5f1+esXM+7rNBNq8erZ01sAHjQ39xymmrUsr56%20tk4qBATj2X9IrkPGB3Aoa9ceF24o/JQCAOLRleZ6rm8ctYXGUYiI4oUTp6oVW7e7v/Frdgbvc4iO%20bi2pz3woZHryLz5x14mqMGWSL5+zkwoB0h9Ach4SP4AD1DZ17XBKHwAKAOh0py9a5YHmUZwGQET0%20wimA6YyAHbKRjoK667PnWVIA2KW7YEHC18/bMYUA6Q/Q2HkZmR+ATrilZ0Igkt5HAQBxcI7vmK5W%20b9/pukBx1bYdauqClfxihIh4iIncTDV14Uq1avsO963r+t88vmMa73EITupMq//76lmWFADED106%20mufuoEKA5Dwjm0v1ZIDga+oS/W8NxrJ/cUT3zkhKjWgqsVCiK+waWOqqZoBa/wI1lisAiIhHVNZI%20bcZCV02CKc5Zyrsbykm+mS3qD7efYlkBwA+TAAatHuNLrO+Q0eN/lRyITBD8ewqgIf8dZ4zvSKk6%20CgDoIuVOvdytd2pguGbHTjVjyRrVVLyY94WIOESbirPLa6ispY7t77KZ/i5Dce2KevX0PSdYVgD4%203vXvVBe2d/HsD1FifYn5HVEISOTuIxMEXxJKFpcPd0IfgPL9HBZJdJ9yr95pQaE0uOqcvURdNJnj%20oYiI1SprqaypTmwemO6bzzsahKNaSurqy2stS/7Fh24+3XeTAAZdCNBjfkfkHxM6VDiZX0VGCP5q%20BNhael+gPr3XEZ06k50siuhKR7b0OObYqPQoKM1dxpF/RESTrgrIGuuUfjAL128u70G8m6M7YXKn%20uu3T77a0ACCTAPI+nQQwWCX2d8ZJ5PTecHPxAjJD8AUXaNqbQvHsH53w5Qs3FFgM0dW2luY4ojO0%20NCvkfSAimt8Y1gkTYmTv4X0c3bZCRv3vl99maQGgPAlgfoLnPwglB3DEtYB49k+SG5EhgvdPATR0%20fsYJX7pQIs8iiJ5wzsr1tgSBs1esUzE6/SMiWq6svbIG27H2y57DOzi6vf2t6pHbTrW0ACB+YNMY%20nv8QlFzAIaeSP0eGCN4uACS722oiaSdU3Vj80DPKyD0rA8D56zap5uJsnj0ios3KWixrspV7AGNe%20j+6KpVH19LdPsLwAcOMn3s/zr0DJCZwxoaxrIpkieJLREwunheLZv9teAIhmWPTQc1pxPHTppVvV%205Knz1MgWnjcionP6w3SX12ZZo624/sUzP9J7KKlP7BhhefIv/s91TAKoqhCg5wYO+IHyOcmVyBjB%20a/xTbbLzPru/YIFImsUOPXtP1KyGUWt2XKZ65i1XY9p6edaIiA5V1mhZq2XNNmMvWLV9h77XMPnl%20cF40sahuvvo9thQAZBJAUsvxHqo04ICTyrXJ4v9IzkTaCJ6hrrlrqRx1sfuojcwHZaFDr9o1Z6nh%20Qd+CdZeqRG4mzxcR0SXKmi1rt9H7QVHfY3i+h7mSkdPU/V96hy0FgD/LJIBeJgEYoeQIDslVlpE5%20gjcKAMne9wbj2ZfsHcHRoX+pOCaFHv8VqH2KWr55m2Ej//KzFjECChHRlUfTe8pruFEnxGRvGcMI%202NdZmt6ufvfNU20pAMgkgEsuaeA9GFoI6CrnDDZfC9gjuRMZJLgaTdPeWJss/tze4zUdqraxyOKG%20vjDdt8CQzs/16T6eJyKiy5W13IgJMum++TzP17hkUUw9efcJthQAxMtNmwRQKsfNMkIvlMiVDfto%20opb82yV3sPlawM8lhyKTBPeeAmjsXl1Tn7J77AabFfrq15+F6zdXFOSt2LpddUy7hOeIiOgxZW2X%20Nb6SvUH2FE6FHbLP6l6xZZRtyX95EsDH329K8hs4QoM8v03VktzB3hPMKVXXXFxDJgmuZHRz8YJg%20LLvHzi9RuCHPhoW+s7U0Z8hBXv+S1WrcpKk8P0REjyprvKz1Q90fZE/h+R14hu1FddOV77O1AHDf%20de9UY9u6LEn+D1rX6L8rtZJD2HotIKbtkVyKjBJcdw0g3FD4pZ1fnlCcTqnoXwd7/FN+GZo4ZR7P%20DBHRJ8qaP9hTAbKX8Mz225jNqu/fcLatBQCZBNCQMSa+lcQ+MIjReAEfj9aWXMLeHzMLv+JaALjr%20GkBz1wY7G2sEYxobFvraeHbGoII7xj0hIvpPWfsHUyyWvYTn1a0KUyap39xymq0FAJkEkDNoEkAo%20keda7SCVnMLWxuaNXRvILMEVjGzseb/+hdlr1xfGzxVLxEOdvmjVETv/Z2cs5BkhIvpc2QuONEFA%209hCeUbdaMD+hntATcDsLADIJYJ4BkwDKv/5H0vyoNkQHc2LCxB8290puRYYJjiYSiRwfThYesq0A%20oC9sI5pKLFiIB37peW1wJ7OjY1o/zwcREcvKniB7w6F7xartOzgppvuBTWPKCfhfbPayjWMt/fX/%204HQtxmsfUM8thlI8MfyKc0PhN5JjkWmCc68BJIub7boGUD4yQwEA8VUW5yx9OagrzV2mRrXS4RkR%20EV+t7A2yRxzcL2Tv8PPzkMZ70oH/Lw4oAHzxY8Mt/fX/5cQzQW+tVz1HPcewOcfZQqYJziwAtPTW%20BKMZ264BSHdTFinEVzumfYq6ZO0m1dh5Mc8DERGP3vxO3ytkz5C9w6/PIJHJqfuuO8cRBQD5O6qZ%20BBBuKKjhFSSuNZEU34fDKLmGjded90quRcYJzrsGEM//jlGAiIiIiOjKHgk9k9Wvbz7dEQUA+TsS%20VUwCCMWzlf+w5vNmgEcvrNg3OlByLa4FgKOoberaYdcRGZqWICIiImI1DsxNqsfvPMkRBQD5O6Qg%20Uemx9UC08vvrXAM4tsFY1rZrAZJzkXmCQwoA3YFANLPPtkaALEaIiIiIWKHb11+odt07zBEFAPk7%205s1LVnZcPVms6t46E7YGr12NAiXnktyLDBTs7QNQ1//P4UT+9/Y1yaBrKSIiIiJW0DenrUtd95Ea%20RyT/B925obJJAEPv/k+Dbbc2CpTcS3IwMlGw7xRAY+cHh9v0BZBqJ4sQIiIiIg7VWCqv7v38uxxV%20ALihokkApfLVWOJqGxoFJm1qFCjXAvQcjEwUbGFEU9d7AtG0LdMApNrJ4oOIiIiIQzVV6lAPfv1M%20RxUAvnvt0CcB1Bk0v564uopGgYm8TdcC0nslFyMjBcsJJwo/oxEgIiIiIrrFWbOb1J++dbKjCgC/%20+sYZQ54EIOPqjDiOTh8AIxoFanZdC/g5GSlYfA2g2GfHPZiaciNA7ishIiIi4tDcvOYi9axDGgAe%20OglAG+IkgHBDwaD+Win6ALi4UWB5WkCyq5/MFCwhNLl3WDCefY5GgIiIiIjodEe3ltTnPhx0VPJ/%20cBKAjCYcWgPAnHH9tRrpA2Bco8AuWxoF6jnZ85KbkaGCFc0Ar7enEWAniwwiIiIiDtpoR0Hd9bnz%20HFcAEHcMcRKAkcfOw/QBMKFRYKc9zdL13IwMFUylrqU0OhBN29AIMMfigoiIiIiDdlIxrX5201mO%20LADc8NHBTwIwqgEg/bXMN2RDo0DJzWqbe8eQqYIpaJr2xnAi/7Dlx1xoWIKIiIiIQ7BvVov6wx0n%20O7IA8J1rz1FjBjkJYH8DwJSB/bVSagR9ADzXKFByNMnVyFjB+FMATcVlVt91YaFCRERExKG4buUE%209cw9wxxZAPilTAJID+6Ea7h8vLzD4KPj9AEw31I5h7G+d1ppORkrGMrYtu6zgvHsi5ZWteTD3Egj%20QEREREQ8tqNaSuo/Lw87MvkXH5NJAN2DmwRgZAPAl38tbijwObGqUWCj9Y0Cg7HsbsnZyFzBMMLJ%20zttoBIiIiIiITnTC5E51xzXnO7YAIJMA5gxyEoAZx8lDcfpr+aFRoP7feTuZKxiC/iFutroZIAsV%20IiIiIg7G9kJa/fQrb3NsAUDcvv7CwTUANCHmphGgnY0Cc9Y2CYyk5b+3mQwWqiIS6X1LuCH/hLUd%20LmkEiIiIiIjHdkp/q/r9bac4ugBw3UdqBnl8PGVSUkh/LVsbBeq5jcVNAp+QHI5MFio/BdDUtd3K%20+yzSRKOORoCIiIiIeAxXLYuop799gqMLAN/5wruOOQmgfGzchHh7f7M4+mvZbpO1jQIPvPcdZLJQ%20aQHgPcF4do+l91joWIqIiIiIR3FkS0l9cmedo5P/8iSAr5+h4un8MY6L54mrfdEosGh1k8C9ksuR%200cKQqW0oft/SPgAJ+gAgIiIi4pEdP6lT3XL1exxfAJBJAJnuDssbADIJwMn9AfJWNwn8ARktDPEU%20QE/BymaA8t/F4oCIiIiIR7Ilp6kf3/h2xxcAypMABhqP0QAwQ4NtHxqwsD9AuR+EntOR2cJQmgE+%20ZfG9FRYGRERERDys3dPb1cO3nur4AoC4bd2FR28AaOL9cCYBOPxagPQHsLDfWjiRf4omgTAo6pq7%20Nlj64eS4EiIiIiIewaWLYurJu09wRQHg2qNMAjCrASCTANxlWD4HVv7YmixuJMOFozKypff0YDy7%2027qmFVQrEREREfEwDQB1P7J1pCuSf/Hezx95EkDY5Pvg+0/WUgBwi8FY1sImgdru0RMLp5HpwpGb%20ASY7v2xdZSpVHpnBQoCIiIiIhzpuYlF97cr3uaYAcLRJAMF4lglb+BqtHRsoOR6ZLhy+GWBzd1iO%20ETEOEBERERHtsimbVT+44WzXFAAe+9bhJwGY3QCQq7XuttbCsYGS441s6Q2R8cLrCCbyv2AcICIi%20IiLaZefUieq3t5zmmgKATAKYfZhJAGY3AGQSgDeUnMiyawGJ3C/IeOE11wC6ilY1A2QcICIiIiK+%201gULEuqJu090TQFA3Lpu3GEbAFoRV9NbyxtaNZa93DeisdhJ5gv7pwHU9f+zvojssqQKxThARERE%20RHyNH7p0tNrlouRf/MIVgdc3AGzIWzcDns+NJ5TcyKofYyXni0Qix5MBwxvqGjq3Mg4QEREREa32%20wvYudeMn3u+q5F+85/PnqjGtr/5hKxTPWveLLs21PaXkSJblY8nCFjJgnzMq3n1SMJrZzThARERE%20RLTShkxO3XfdO11XAHjw62eqWOqQSQAWNQCkuba3lVzJmqvZmRdrWjtPIBP2cy+AhuJ1jANERERE%20RCvN9U5Sv775dNcVAGQSQLrU8eqj3BaOeuNUrYfVcyXJmSz5HCU6ryUT9msBoLX0vkA0s8+a2ZRU%20LBERERGxW82bl1SP33mS6woAz947TM2a03RIA8CiZXe5mQTgD60aGxiIpvfVNnadR0bsQ8INhe+x%20YCEiIiKiVe7YMLY8Vs9tBQBxy9pxttzh5lqtv7RqbGA4WfguGbHfTgE0lRqlqyidSxERERHRbMe0%20danrP1rjyuRf/Px/BA5pAJiztABAPO0/rRgbKJ+rutbuKJmxT9A07Y3hhs5HGAeIiIiIiGYbT+fV%20d77wLtcWAO75r4OTAKxtAMgkAP8qOdRwC66ahBvyv3vD2rXHkSH7gBFNpWlWNDChcQkiIiKiv810%20d6hffv0M1xYAfvG1/ZMAJCmz4hQtkwDQyisnkhOOaCmVyJA9zgWa9qZwQ/5J7i0hIiIioplePKex%203E3frQWAP33rZJUqdZQTcSsbAPKDGh7UirGB4UT+z5FI5HgyZQ9T11Saa/boCY4tISIiIvrbzWsv%20KnfTd2sBoDwJYHaT5Q0AX26snaCxNnaXcyqzC1Dl3K25axaZskcZq2n/Ekrkd1G1REREREQzHN1a%20Uv/1H0HXJv8H3bzmIssbAHKiFu26FhBK5J49r3ngzWTM3jwFsNzsSpI0S+HLioiIiOg/ox0Fdffn%20znV9AUCKGFYcw2YSAA5WsxtSSo44orG0hIzZa70AItq/heK558xduJgGgIiIiOhHJxdT6uc3nen6%20AsC3P3euqo2nbCkAcKUWj3wtoKuca5l6GiCe/Vtde/+/kjl7iNrG0iazx0yEEnm+pIiIiIg+s//i%20ZvXHO052fQFAihjjmtpsKQBIgsckADyakmuZ/oNusriRzNkjhCb3DgvFsy9wdAkRERERjXTDqvHq%20mXuGub4A8KdvnaRa0402FQDoqYWDvBZg8pjKYDz7j9HNxX8ng/ZCL4Bk8UNmL1x1VC4RERERfeOo%20lpL69AfCrk/+y5MA7hmmpk6bYFsBgEkAOOhrAXrOZfbnsbax84Nk0C4n3DzllGBM223u/REWLkRE%20RES/WD+5oO74zPmeKACI65aOsK0AwCQAHPK1AJOnVkjuOCrefRKZtJt7ASSLnzK1gUkkxZcRERER%200SdO7EyrB77yNs8UAK657ALbCgBcp8VKlRzM1NMADZ1Xk0m79RRAw9QzgzFtj6kfkGQnX0RERERE%20Hzh1Rqt69PZTPFMAuPOad6pgZJJNkwBSTALAipUczOSx73tGtvSeTkbtxlMADcXrOL6EiIiIiNW6%20ellEPX3PCZ4pAPzfV09XYxuZBIDuVXIxk5tV3kBG7bZTAC2dZweimb3MMUVERETESh3ZUlJXXVbn%20meRf/OMdJ6mWVJJJAOjuJoF6LlZj4gh4ySUlpySzdtVVgM6bWbwQERERsVLHT+pUt/7nezxVAJBx%20hlOmMgkAvaHkZCbnfN8ks3YJo1q63x2IpPeZWBXiS4eIiIjoYVvzGfWTG9/uqQKAuHbJSCYBoKeU%203MzE5pX7JLckw3bFKYD8HWbeYapr6uILh4iIiOhRu6e3qUduPdVzBYBPMwkAPXktoKuco5l3eiV/%20Fxm2w6lrK73DzFMA+oeALxsiIiKiR122OKqe+vYJnisAfItJAOhhJUczcST8vpHJKW8n03b2KYAv%20UcFERERExCE1ANT92LaRnkv+y5MAvnIGkwDQ+9cC9FzNtN4AyfxXyLSdWgBonnKKzHQ06+WzgCEi%20IiJ6z3ETi+rrV73XkwWAP9x+kmq2cxJAspPPGFqi5Grm9YRL76lrL5xMxu3EIkBj55WmXQOIZ/ly%20ISIiInrMpmxW/fCL7/BkAWD/JIB6JgGgf64F6DmbeZMC8leRcTuM0c3Ffw/GtN1m3WPiS4WIiIjo%20LYvTJqrffvM0TxYAxDVMAkAfKrmbOZ/pzIvjJk79/8i8ndQQsLFrq2nXADjGhIiIiOgpFy2Iqyfu%20PtGzBYCrdzIJAH16LUDP3cy73lLcQubtECKR3rcE49nnzLn/kfF3k5yWHjWqtYcFBRERET3jhzaP%20Vrs8mvyLd3z6HCYB+NjRbb00CdRzOJNOuDx3XvPAm8nAHUBtU9dis2ZD1jV2+foLlJo+Xy3auFm1%20dQ+wqCIiIqKrvbC9S33lkxd4NvkXH/jKGWpM0r5JAHU00rbVSVPmqaWXblXtvXN9/RwkhzPrc65/%20xheSgdt+CiByfCiee5ZmgOZUEZfpi8janZeVnbNyvYpp/SywiIiI6DqTWk597/p3eroAUJ4E0NFo%202zUArtDaZ0N+lpq3ZuPLcfuSTVvU6FZ/nwgwq0lgKJF9RtO0N5KJ28iIptK0mvoOE44ydfj+KFP+%204sUvLyQHXbPjMjVl/gp14aSpLLiIiIjojpimd5J66ObTPV0AkEkAPVOYBOA3x3dMV32LV78uZhc7%20Zy/x92kAPZczL08s9pCJ28c/hRL5P5nS9CGR9/dxuYlT1cqt2w+7oIjyv8vOXES/AERERHS08y5p%20UH++60RPFwDEVYuZBOC3E7uS5K/avuOI8br876RI4OfnJDmdSUWvP5CK28TIplLKjBEQNRFGAnbP%20W37EBeVQF2/cQr8AREREdKSXbRzr6QaAL08C2PF++yYBRJkEYNe9/8HE6v2LV/v+eUluZ0YDzNpk%20dxsZuQ2EG/K/5j6T8U5ITVert+8c1MLy6n4BM1iYERER0XbHtHWpGz423PPJv3j7f56jAkwC8OW9%20/8Ha2Hmxr5+bWSMDaxOFB8nIrZ4I0FyKyQxSRgIab9+iVUNeXOgXgIiIiE4wkc6p71x7ji8KAD/9%20so2TAOqZBOCEe/+Dcf66TWpki7+foRkjA2sicgqmZxyZuZVFgIbCjxgJaLyx7IyKFxj6BSAiIqKd%20at2T1S+/cYYvCgCP3n6yamISgO/v/Q/W9PT5/m4SaNLIwHBD4Xtk5lZNBGjuDptRzQnGsr5fbGav%20WFf1IkO/AERERLQ8hhloVI/deZIvCgAyCaC7185JAHk+cw669z8Yl2/Zpsa2T/H1M5Vcz4xT5KOb%20ixeQoVtxCqCx8FVTjjT5/E5TU3G2YQsN/QIQERHRKreuG6d23TvMFwWA8iSARaOYBMC9/yHbM2+5%20v08D6LnecBNGBtYlCzeQoZtMXXvhZH3x2UNF03gvWbvJlAWHfgGIiIhoSgPA1i71hSsCvkn+xau2%20MwmAe/+VxuM7VTTT7+vnHDJhZKCem74Umtw7jEzd1FMAxW1mdDb1+8IzsXeuqYvOof0CcvQLQERE%20xCqNpvLqnv8611cFgNuYBMC9/yqVq79+f+ZmjJivbey8lEzdJDRNe2Mwlv2bCQ0dfP1FkIRc7u9b%20sfDQLwARERGrNdWVUj//2pm+KgDYPwmgi8+ewU6eauy9/8Hq9xhccj8TTgP85Q1r1x5Hxm7GKYCm%20zt7hEzo41mSwmf4Fli8+9AtARETESpxxcbP64x0n+6oAIJMAGiczCYB7/8b9GOf3U7mSAxr+w3Jj%20Z4mM3QSC8dzDxh/d8Pd80zHtU8rdQu1ahA72C5i6YCX9AhAREfGoblw1vtwZ308FgKe/PUyVeiNM%20AuDev6HmZy3y9buQHNDw0wDx3G/I2I0eC9jYOarG4G6OdDftVsXZSxyxENEvABEREY94dbGlpD7z%20wZCvkv+DrljIJADu/Rvvqm071EWTp/n6vcjn29i+GeVrM7Vk7gYSime/a+zCxkjAcZOmlhcApyxG%20r+oX0EO/AEREROxWkY6CuvOz5/myAHAlkwC492+i0xet8vW7KY8MNPiquZ6z3kvmbuBYwJr61D5j%20X1DO94uSjOxz4oL0qn4BWfoFICIi+tVJnWn1wFfP8mUB4NarmQTAvX/zlb/Tz+9JckKDvzv7xjZq%20J5LBG9ELoCF/ldFHNUY0+3thq0/3lWeFOn1hOtgvYBz9AhAREX3ltJkt6g+3n+LLAsD/3niGGt3A%20JADu/ZvvJWs2+vydlZTRV85D8dyVZPAGjAUMRDPPMRLQWN20OJX7BWzbQb8AREREn7hmeb16+p4T%20fFkA+P1tTALg3r+1Tpoyz9fvzuiRgZK7Mi6w2rGADTIW0MBTAJEUd+sy/eVf2N22QNEvABER0duO%20bCmpT11W68vk/+VJAD1MAuDev/Xx9cgWf//QJjmikd+lumSxh0y+uoaAD3EKwFj7XXYKgH4BiIiI%203nfCpE5166ff7dsCgLh84WgmAXDv3xbTfQs4DWBsg8CHyOQrHQvYWhpuZFWGUwDdKuriUwD0C0BE%20RPSmbfmM+smX3+7rAsAntw1nEgD3/m1z2eZt5SsNnAYwrrnmyMae95PRV3IKIJH/GqcAOAVAvwBE%20RETv2tvXph657VRfFwBuvfpdTALg3r/t5mct5jSAsddrvkZGP9SxgIn+twZj2h5OARh4CkDr9+SC%20Rb8AREREd7piSVQ99e0TfF0A+N8bz2QSAPf+nfHD2tbtauzEKZwGMOyKTeYlyWnJ7IfSELCpazGn%20AAw+BbBktacXLvoFICIiuqQBoO7Ht4/wdfJfngRw68kqySQA7v07yNLcZZwGMPA7NqKxuITMfmgN%20AR/lFACnAOgXgIiI6C0vmlhU3/jUe31fAJBJAF1MAuDev8NcvX2numjyNE4DGNYgMPcHMvtBMqqx%20K2jkw+cUgJwCWOO7RezlfgGz6BeAiIjoBJtzmrr/S+/wfQFAXDafSQBOvfdf9PC9/8EoP6RxGsC4%20H6NHtvSGyPAHQbgh/yVOAXAKgH4BiIiI3rFrWrv63TdPpQCg+4mtTALg3r+TT9TuVPXpPp+fBkgb%20dxqgoXAjGf4xOK954M3BmPYipwCMc4ZPTwEczoFVG+gXgIiIaLGLFsbVk3efQAFA95ZPvUsF6pkE%20wL1/ZyuniDkNYNjJmxclxyXTP9pUgMau6ZwCMM4YpwDoF4CIiGhjA8D/2DKK5P+AP/nSmWpUQzuT%20ALj37wrjuZmcBjCqCWdjsY9M/6gNAXO/5BQApwDoF4CIiOhux7UX1VevvIDk/5BJAA2TmpgEwL1/%201zh7xTp/nwbQvzMGNgj8FZn+ERjT1PtOoxoCcgqAUwBD6RfQTr8AREREw2zUsur7159N8n/Ap759%20gip2MwmAe//us7HzYl9/XgIGnQaQ3FRyXTL+w50CaChczSkAA08BLOUUwFD7BcTpF4CIiFiV+SmT%201EM3n07yf4hLbZ0EkOVzyb3/ipVnxmkAo/LT/KfJ+F/L2rXHBWPa3zkFYNQpgBksXPQLQEREtNT5%208xvUE3edSOJ/iB/bUmPjJIAM9/6591+1fp+wZdRpAMl1Jecl8T+E2qbO1PAJHZwC4BSAY/oF5OkX%20gIiIOGgv3zhW7SLpf5U3X2XjJICIvycBcO/fOBeu36xGtvg3Jq418jRAspgh8z+EcDx3P6cADDoF%20kOUUgFEu2US/AERExKM5tq1Lfenjw0n6X+OPmQTAvX8P2THtEk4DGNIgMPtjMv8DjIp3n1QTSe/j%20FACnAOgXgIiI6B4TmZz67rXnkPS/xkeYBMC9f8/9MLbV1ydkjToNUBNJ7ZPclwqAnAJoKFzGKQDj%20LFy8mKNPZvULWEi/AERERFHrmax+9Y0zSPoPMwmgsztqWwEg7MNJANz7N9/pi1apse1TOA1gTIPA%20D1EB0AnGtKc5BWD8YtjPYki/AERERBOcMzepHrvzJJL+w7jkkjFMAuDev2ecu3qDSuRmsu4ZeBpA%20z32f4RRAc6Fe7i1xCsAck4VZav66TSxipvULmMvnDBERfeW2dReqXfcOI+FnEgD3/j1+/H9iL3Gu%20WacBapOlmK+LAKF47i5OAZjryJZulZ4+Xy3fso1FjX4BiIiIFTmmtUtde0WAZP+IkwDOZRKAFff+%20C9z7N9NV23aUrxaPbu1l3TPxNEA4rt3j2wJAJBI5PhBJv1T1wlfPKYBBde9tn6J65i1Xa3bsZJGj%20ayoiIuKgjaXy6p7Pn0uyfwR/9MUz1cgEkwDMNjtjITGnyff+L5o8jTXvGErRzYDC3UuSC/vzKkCi%20s9uQUQs+bIBSjdFMv5q9Yh2LncF9AsaxaCIiogdNlTrUL752Jsn+EXz4m6eoxEQmAVhhfapPrd7O%20j1nc+7dXab5pyGmAZH6aPxsCxrM/NKL6OcInx5+Mtq17QC3euIXFzwBzMxfxmUJERM85c3aT+tO3%20TibZP9IkgLtPUJ0lJgFYadecpcSe3Pu32ZKqMaCnXTCm/ch3BYDzmgfeXBNJ76n6FEA8ywexCqXD%20fX7W4vL9HxbDyly0YTOTAhAR0XNuWj1ePUsDwKO6eB6TACzvTdHWS0NA7v3bruSgBlwJ2CM5sb+u%20AjTkZxqxANY1dfFBNEC5/9O3aBULYwU2d83mM4SIiJ5xdGtJffZDIZL8Y/iRS5kEYJcTp8wjBuXe%20v61KDmrIdZ5E5xy/XQX4adUVUJ8vgGZ1XL1kLSMFB+vMZWv53CAiomeMdBTUXZ89jyT/GH7jSiYB%202K1MZyIW5d6/nQZjmhFXAv7PNwWAQLL0/2rqU3urb4RS5ANogjJSUDrdL9/MSMGjKY1pJqSm85lB%20RERPOKmYVv/31bNI8o/h/V88y7ZJADU+mgRwzIkV2RlqzQ7iUe7922dtY9GA73Rqr+TGPrkKUFhQ%209TGoSJoPn9l3rtqnqO65yxgpeASLc5byOUFERE84fWaL+sPtp5DkD2ISQJxJAI5xyvwVxKTc+7dV%20yUmr7nGXLCz2x1WAWO4XVXdDbSjwwbPqaGCmT128nJGChyoNaUa3sagiIqL7Xbdignr6nhNI8gcx%20CSDfxSQAJ3nhxKlqxdbtxKbc+7dNyUkNaPL5S88XAEKTe4fVRFL7qj0KxYfOeltLc9SijZtZXHU5%20VoWIiG53VEtJXX15LQn+IF1k5yQApmEd0UzfAmJT7v3bak19qto+H/skR/Z0EaA2UVhZ9ZGJRI4P%20nF0BQ2uPys1cpFb6eKSgNKLhs4CIiG52wuROdfs17ya5H6RXXBpgEoBje1n1qAXrLuXePz9Q2WYo%20kVcGnHJf4/GpALnfVD8WkI6odjtu8jQ1baH/RgpKf4SY1s9nABERXWtbIaP+98tvI7kfpF/75Lmq%20pn4ykwAcbGPnxdz753Ngm/IdHT6ho8qpd9nfenkqwKmymFV5Z4IPm4OUI0fz1mz0zWLbe8ly3jsi%20IrrW3v5W9chtp5LcD3YSwA1nqRFMAnCF/UtWc+8fbVOu7FRb8JNc2Zv9AJKFTVWfAmAxdKSTp16i%20lnl8pODyLdvU2IlTeN+IiOhKVyyNqqe/TQPAwfo7JgG4yvEd08u/jHPvH205DaDnqFVfCUgWtnj0%20KkD299yJ8q5j2npVaWCpWr3dmyMF09Pn854REdGFd6ZL6hM7RpDYD3ESQK4YYxKAy5Sj8Z6+9z9l%20Hu/ZwUquWuWJ90c9VwAYmZzy9mqvAlARdYf16T41a9laTy2889du0oMo3i0iIrrLiyYW1c1Xv4fE%20fogunDuWSQAubWC9ZNMW7v2jLUquWt0VoJSSnNlrUwG2V3tPgg+Xu2zumq0WbfDGSMGGwizeKSIi%20umsfzmnqR196B0n9EP2PTUwCcHXjy+4B7v2jbVb7o3e4obDTW1cBYrmHq3sgHIty5xHEHpWdsVCt%203Lrd1Qsw7xIREd1kaXq7+t03aQA4VG/6xHlMAvCAs1esc3XyP2/1Ru79u1Q9ia+uEBjTHvFMAaCm%20tfOEmvrUvmq6o/KhcrcXTpqqpi5YqdbscNcivHLbDiqwiIjoKpcsiqkn76YB4FD9IZMAPGMk018e%2068y9f7TlNEB9RzVXAvZJ7uyJIkA4kV9VzcIYiuf4QHnEeG5muaupWxbj3KxFvDdERHTH6TvdK7aO%20IqGvwN/ecoqKtTczCcBDds9bzr1/tEXJXas7AZ9b45GrANqDVY0F5GiU55w0ZZ5aeulWRy/I8vex%20GCMiohsc115UN135PhL6CpRTE1k7JwFw5dWcU6gTp5ZPdHLvH61WctfqpgRoD7q+AHCBpr2ppj61%20t4qHwIfJo45u61XFOc4dKchIQEREdION2az6/g1nk9BX6IIBJgF41c7ZS7j3j7YoOWwVVwL2ntc8%208GZ3XwWI5+dWdzyqyAfJ405ITVczl65x1MK8eOOWclND3g8iIjrZwpRJ6je3nEYyX6Ef3sgkAC87%20pn2KWr5lG/f+0XIlh63yOvw8d18FiGd+zFhAHIxNxdlq4fpLHbFAT2JxRkREh7tgfkI9cdeJJPMu%20nQQwguuulihTqrj3j7Y0CKxiXGAwqv3EzTWAf6qp79hTcQUkQUNA3zU1aulRWv8CtcLGkYIL1l+q%20/x28C0REdK4f2DRG7SKRr9gfXH+WGhFnEoAvrp/qSbfdfai49+/TBoGJXDXrxB7JpV1ZAQjFtF4a%20AmKlzVymzF9hy0jBtu4B3gEiIjrSsW1d6saPv59EnkkAOASlzxP3/tFtDQIll3ZlESAQzdzLPSms%20xlh2hhpYZd1IwXlrNvLcERHRkTZkcuq+684hka92EkAnkwD8eNJU+j1ZOWGKe/8oSk5bRT58ryuL%20ADWR1POVL5IFPjj4shN755YbqZi9aEtfAp43IiI67l5zz2T165tPJ5Gv0vlMAvCt0u/Jsnv/bdz7%20x/1KTltF75Dn3dcQMJEPV3NXig8Nvu5Ol76gyqgXs0YKzlm5nueMiIiOc2BuUj1+50kk8VX6wQ1B%20JgH4+jRAd7nvE/f+0fIGgXpuW3HxUM+p3dUPIJ69pvKRCFRK8ciO75iu+pcYP1IwkefOFiIiOssd%206y9Uu+4dRhJfpV/5OJMAsLvc94l7/2h5g0A9t60iL77GXVcBopk/VdwQkI6pOAgbOy9WC9YZU9Gd%20uWwtzxQRER3jmLYudd1HakjgDfD717+NSQD4stL/iXv/aGmDQH0NqHgN0XNq1xQA6hLaWys99hCI%20pPmw4JAavaT7FqgVW6obKRjT+nmeiIjoCOPpvPrvL7yLBN6gSQDRNiYB4CtK/yfu/aPlDQL1HLfi%20QqKeW7uiCBBO5JbRNRWtdOzEKar3kuVqzY6h9wvoW7yaZ4iIiI4wXepQD379TBJ4A3zirhOUxiQA%20PIzSB4p7/2htg8B85WuJnlu7oylgTPtRpf9I7kxhNUa1/iEt7FI0qE/18ewQEdF2Z81pUo99iwaA%20RjlvzoW2FQDob+VspQ8U9/7RUvUct+LmgHpu7YoiQKA+/WKF/0A+IGhM45eeAbVk07HnwU6Zv4Ln%20hYiItrt5zUXqWRoAMgkALVP6QQ3m3v8k7v2jQUquW9GaoufWji8AjGjsHMW9KXSCo1p7yne25O7W%204RZ2GTXIkS5ERLTT0a0l9bkPB0ncDfTLHzufSQB4TKUfFPf+0Uol1634tLyeYzv7KkA8d1VlTQ9S%20fDjQFMd3TCvf+3/tAt89dxnPBxER7bvC1lFQd33uPBJ3IycBXPc2VRefaN8kgCYmAbjJw8WH3PtH%20M5Wct6IT83qO7fB+AJmHK7o7lcjxwUBTTRZmqflrN5UX+JXbdqgLJ03luSAioi1OLqbUz246i8Td%20QH9z86k2TwIo8tl2mdIX6mBTae79oxVKzlvZtfnMw44tAEQikeNr6lN7K/mHUTlFKxzZ0q1S0+er%207IyFPA9ERLTn18dZLeoPd5xM4m7wJIBMIW7jJIACn22X2jl7Cff+0TIl563w1PxeybWdORqwoVCg%20gQoiIiLi4V23coJ65h4aABrprnvfqubOZhIAIrpDyX0rLDYWnHkVIKrdQvUUERER8dWOaimp//xA%20mKTdBC9fH2ISACK6Rsl9K7oSoOfazhwNGE0/U0kTFT4MiIiI6FUnTO5Ud1xzPgk7kwAQEctKDjz0%20omP6GeddBWjWTqms0yFHqBAREdGbthfS6qdfeRsJuwl+j0kAiOhSJQeu6AS9nnM76ypAIruqok6q%20jXRSRURERO85pb9V/f62U0jYTfChm09VESYBIKJLlRy4oh/Q9Zzbaf0A7h/6Mao0HwJERET0nKuW%20RdTT3z6BhN2kSQBpJgEgotuvBOi5cAV9Ae53VBGgJpJ6YcjdVBM5PgCIiIjoGUe2lNQnd9aRrDMJ%20ABHxqEouXEEvkhccUwCojWp1lSykdY3cpUJERERvOH5Sp7rl6veQrJvoZeuYBICI3lBy4YquI+m5%20t1OuAlxVUUdVXj4iIiJ6wJacpn5849tJ1E30xo+eb1sBgEkAiGjOlYBUJVcCrnLKaMCHuQqAiIiI%20frR7ert6+NZTSdRN9H+ufTuTABCRKwH7RwU+bHsBQNO0Nw6v79jLVQBERET0m0sXx9RTNAA0fRJA%20fWsLkwAQkSsBop57Sw5u7ymAeCbPVQBERET0kyN1P7ptJEm6yf75rhNVOs8kAETkSsCrTgPoObjN%20VwEyXx16Z1WuAiAiIqI7HTexqL521ftI0i2YBDDn4nFMAkBEb18JiFdyJSDzVXtHA9Zn/shVAERE%20RPSDTdms+sENZ5OkMwkAEdG2KwGSg9tYAlh73FD7AXAVABEREd1ocepE9dtbTiNBt8AvfuTdTAJA%20RK4EHNGOvZKL29UPYDxXARAREdHrLlyQUE/cfSIJugXed+3bVW2MSQCIyJWAo65XsdQEu/oBfGTo%20VwHosIqIiIju8UOXjla7SM4t8dffYBIAIvrxSkCxkmtLH7GpCJB+gKsAiIiI6EUvbO9SX/7E+0nO%20LZwEkMonmASAiFwJGFQRIP2ATU0BU89zFQARERG9ZkMmp/7nuneSnFs4CWD2LCYBICJXAgZ/fSn1%20vOUFgAsi2ulDPmLFVQBERER0uLneSeqhm08nObfQHWvDTAJARF9bW8GVgHDDxDMtLQIE49qCIVYq%20eLmIiIjoaOfNS5aPpZOYW+cNtk4CSDMJABGdcyWgfohXAmLZRRb3A9Bu55gVIiIiesUdG8aqXfcO%20IzG3chLAF5gEgIj4ypWA7P/f3p3AR1WleR+vdrr77Zmed2RTwH1HklRICDvUkh2yVd3KBiQR3BCU%20dt9AEQFBQAFZFVEQEUHcADcW2Vtb7VbbfddWUFxQWd7umZ4ZPW+dColZqiq3klupe+791efz/UwP%20QpK6N3Vv/Z8653liXcn0fPsWATyl37AVAAAAqG5AUbV4dEkKoZxJAACg1JaAVG/pt+1YAph8TIpH%20+5mtAAAAQGXZpcPFC2vOIJS39ySA7Z2EVskkAABo25YA7efy8vJ/aZcSQFpmeSFbAQAAgMrKztPE%20B093J5TbbhIA06oAWGlLQHlJ+zQFzKpYzlYAAACgqkvH54v92zoTyhNg9i2JmwTQi0kAACy2JSAt%20u2JlOzUFLP2ArQAAAEBFt08eLH6kAWBCrFuU4EkAw5gEAMBaWwJSs8o+bJciQPCH+i+2AgAAAJUM%20KKwWqxf2IownyItrThbpTAIAAEO3BASz+T/jvwogr/x0Oq8CAACVZAaGi12rzySMJ8iHT3cV7oIE%20TgJgayoAlbYE5MW4JSC39Ow49wMov1H3D+TROIkAACChtOqAeHfjCYTxBE4C8DMJAABiIrO07n4n%20WWU3x7kfQPlWmq8AAAAVjLl0mPjy+S6E8QROArh07BAmAQBAjGSW1t0XwFu+Pb79ALyl+3VXXnOG%20cwIBAEBCTL3ZJX7YTQPARJo1iUkAANAaMkvH0BfgmziWACYfk+LWftL7w9CABQAAtLd+BTVi5V1p%20hPAEe2Rhj4QVAFKZBABAcTJLx3Dd+9nr9f46Tv0A/P30j2FhNCAAAGhfHv8I8fyDZxPCE+yFh09h%20EgAAtJHM1LpXP3m1IXEqApTN1P1DMBoQAAC0o5KRpeKt9ScRwk0wCcDFJAAAaHtfgBhGBfbKLJ0b%20n6aA3tI/6R8NOJITBwAA2sWFlxSIvVuPI4Qn2NdyEkAFkwAAwAgyU+tfiV/65/g0BfRoB/X+EH2G%20sg8LAADE36QJHvH97o6E8AT7cU8HMfYSJgEAgGGCmTqGrVBHDC8AJA8s76S7GUtmKScMAADEVd+C%20GnHfnAwCuEnMnNQ7cZMAssp5TQCwJJmt9V4Le7oC3Y0tAnh8xborsTlUYgEAQPy4fSPF5hU9CN8m%20sZZJAAAQFzJb670eJrsCZcb2A/CUzqchCwAASLTC4WXir0+cTPg2iT2rmQQAAHHrCxDM1rqvi5mB%20JQb3Ayh9Qe/FmJMFAADiYdTFReLzzccTvk3iAyYBAEDcyYytrzlg4BWDiwCBb9mTBQAAEuXG6zLF%20gV00ADTTJABfRS6TAAAgzmTG1vmB/PcGlgAmHxP8oj9xQQYAAO2tb9Dds/oSvE02CeCSMUwCAID2%20IDO2zuvjzxkZY35jSAmg1xDtHL0X5QxGAwIAAIMMLqkST993LsHbZGbcxCQAAGgvGbGMCnT7nMY0%20Bcwsu1TnHgROEgAAMMSwynLx6mOnELpNZs0CJgEAQLv3BQhmbV3XyazAlcb0A8gse0Tf0qwKThAA%20AGizqgtLxKebuhK6zTYJ4KFTRHpmIicBUAAAYE8ya+sqAmSWPW7UZIB3dHVozRvJCQIAAG1y7dXZ%204tudnQjdJvP+U13FkGGFTAIAgASQWVvniqn3DSoCaIf0fENODgAAaIsFM/qLgwRu09m/rZMoKWcS%20AAAkkr5VU4HDbS4AeL3eX8sugzqWHXBiAABAqwwqrhbr700icJt2EoCLSQAAkGAyc+uZEJCUVP7b%20tjUF9Gopui7QOcM5MQAAIGZ55ZXi5XWnEbiZBMAkAACI1hcgmLl1XTvdpeltLAKUXqFrNGB+NScG%20AADEZPhon/j42W6EbZN6eP65CZ4EwGsEAOrIzK2rCOANXNPG8YCla/V0a+WkAACAWFxxZa74ZgcN%20AM1q90OnMgkAAExGXh9bLAJklq5r60qAt1iqBQAAjDRn2kAaAJp8EsBgJgEAgOnI7N1yIbX0nTZO%20BggcbLFjK/0AAACADgOLqsWjd6cQtE0+CaCYSQAAYErpOvoCyOl+rS4AyK6CeiYDUK0FAAAtySmt%20FC+sPZ2gbfJJAGMuTuAkgBwmAQBANDJ765kQcNawYf8nrpMBOBkAACCa8vP84oNnuhO0Te62iRlM%20AgAAk9NzTU0eovVqXRHAUzquxc6tmXRuBQAg0foX1IjisjIxdtQwMeUyj1h2fV+x5qY0sX6yU2ya%20miR2zThHvDz7TPHm3FPFh/NPEnsXdwuR/1v+mfxv8u/Ivyv/jfy38mvIr3XJqILQ1+5X0LpGbeP/%20kC/2b+9MyDa51XcxCQAAVCAzeItbAryl41tbBFjd4rKtbJZtAQDQXgYVVYvza4rErMuHiNUT08WO%206T3EB8Egf3BZZ3Hkvk5xJb+H/F7yez4U/N7yZxhdXSQGFkYeEzzz1sHi4J4OhGyT27XqVJGW6WMS%20AAAoQGZwHR/WP9zapoBvtNgPIG8kJwIAgDjJ1yrF1RfliuU39BGvzD5D/Hhvl7iH/VjJn0muJJA/%2041UX5YV+5gGF1WLNolQCtgLe29gtgZMANHpLAUCsfQGCGVzHSoA3W1kE0H5s6YtTuQUAwDhDiqvE%20tRfniCducYqPFpxkusCv1/f3dxGH13UUh5/rIA7tJmib1VfbOouiMiYBAIBKZAbXscrqYMwFgNO8%20o3/X0mQApzfASQAAoI3cxSPFDWOyxbNTksSBpccpG/wjur+TOPxIR3H4WQoCppoEsLuDuOgiJgEA%20gIpkFm9pQsDAgeX/Gtt4QK8/jS6uAADEKfiXjBQTLskONeL7fmkX6wX/aAWBtRQEzGDaBCYBAICq%205HW0pWttkrskPdatABe3vIRrOCcAAIAYlFZqoc77lvzEvzUFgcc6ikPbCeTt7aF5TAIAAJXJLN7i%20lgC3f0xMRYAUT2Bli/0A8qs5AQAAtKBv0LjRw8T26T3EYbsH/wgOr+koDm9mikB72JnQSQAB+kkB%20gBF9AYJZvMXrbjDTxzoZ4NXoX1Dj4AMAEMXgoipx66Ve8fbcUwn6eq3qKA4/3UEc2kNYj4d35SSA%20oUwCAAArkJm8hcLrq7FuB/g6+tzBMg48AABhDCqqFvOuGiS+XNKNUN9aKzqJwxsoBhg/CSCPSQAA%20YBEyk7cwIeDr2LYDuP3/pKMrAACxLfuXXf4/WXAiId4oKzvVjhkkxBswCcDNJAAAsBB5bW3h+vtP%203QWAjJzyY1u6mPfOG8mBBwDgqPOqisXLs88ktMfL6o7i0FaKAa019cY+TAIAAIuRmbzFPn7BbK+r%20CJDq1VJa+mJ9aOoCAIAoLC0XGyanENLbq4Hguo7i0A5CfSxWzevJJAAAsKJgJm/5Oqyl6OsH4PYV%20RN1bwAUdAGBz/QpqxIKrB4jvl3YhnCditOB6VgXomgTwIJMAAMDKZDaPPibQV6CzH0DgmujLuio4%204AAA2youKxMvzWLpvym2CLAqIOokgEH5TAIAACuT2Tz69Thwjd7JAPfT3RUAgOYmXpIlvrnneAK4%20WSzvJA4/w6qApr58vrMoLE3gJAB6RwFAu5DZvIUJAffrKwJ4AzujNhfIr+aAAwBsxVMykr3/Zu8V%20sJvwXzcJ4MILmQQAAHYgs3n0rfyBnTpXAgQ+jlJJ4GADAGzlgpoi8TFj/5QYJ3hoC6sCpjAJAADs%201RcgmNGj9Gf5WO92gIMRuwtmlnGgAQC2MevyIeLQss4EbJVWBWy0byFg5VwmAQCA3ciMHuVD/IN6%20agC/Cv7ln1jiBQCws75By2/oQ6hWtRDwREfbFQB2PHia6OVlEgAA2I3M6FGu0T/JjB+1ApDkLe8W%207SLfm0YvAACLG1BYLdZPdhKmrdAnYI89CgDvbEjsJIAMJgEAQMLIjB7tOi0zftQiQLIn0DdqU8Ch%20NAUEAFiXu2Sk2DXjHEK0VQoBa6zfMJBJAABg8+aAQ6M3B5QZP2oRIMUTqIn4BWgKCACwsHytUrx+%2052mEZ6t5qKM4tNO6kwAuYBIAANheSpTmgDLjRy8CZJbOjtwUkIYvAABr8peXio8WnERgtvLkgO3W%20KwJMvoFJAACA80JZPeI1O5jxoxYBUr2l6yNf7Cs4wAAAC64AqBCfMALQHoUAC60IWDkniUkAAIAQ%20mdWjXLPXRx8P6A28FnHPV85wDjAAwFI8JSPFG3NOJSDbxSpr9AjYvpJJAACAX8isHvG6Hcz40YsA%20nsC+yJMB6PwKALCOgYXVYs/tZxOM7dgsUOGpAW9v6CYG5hclZhWAh0kAAGBGMqtHKd7ua6ExoPb3%20SP+4D1VfAIBF9A166tYUQrGdxwcqOgmgIJC4SQCMigYAkwpm9SgF3L9HLABkZIz5TbSlXxxcAIBV%20PHBjBmHY7oWAJ9QqBPywu4M4/wImAQAAwpOZPdI1XGb98E0B3cWnR54MUMaBBQBYwp1XDCYEo7YQ%208FQHdSYBXN+XSQAAgIhkZo+Y54NZP3w/AHeJO2L1N5vqLwBAfWNHDROHCb9o4NAW8xcCVtyZwEkA%20jIgGACXIzB5xZX8w64fvB+DyV0ecDJA7ggMLAFBatn+4+Nui7gRfNB8duMu8BYDnH2ASAACgZTKz%20R7ymB7N+2CJAstt/c8Q9BPnVHFgAgNI2T+tJ4EX4bQGPmLM/wNvruyd4EgDv/wBAFfKaHemaLrN+%20+J4AHv+DEScDcFABAAqbdpmHsIvohYBnzLUtYN/WzmIYkwAAADGIuLUrmPUjjQfcE3YpmJe9YAAA%20dZVWauLA0uMIuohueSdxaLt5JgGMPt+TwEkAw7l2AICCZHaPsLprT/jGgJ7AR3SEBQBYycDCavHG%20nNMIuNDnoY7i0J7EFwEmXcckAABA7OQ1PEKPl48irQT4lmowAMBKlt/Qh2CL2LYFPJnY/gDLmQQA%20AGglmd0jrAT4NnwRwO3/B3vCAABWUVapiUPLOhNsEZv7E7ct4PkHTmcSAACg1WR2j3Cd/0e4GsCv%20gv/h57CTAbghAAAUtH16DwItWrcaYG37rwZ4a313MSCPSQAAgNaT2T3Ctf5nmfkbVQDO6j/sP8JX%20hTUOJgBAOZeOHkaYRdsKAZs7tO8kAC2fSQAAgLY3Bwxm+HDXepn5GxUBemYFTg2/N6yMAwkAUEq/%20ghrx9txTCbJom1Ud220SwCgmAQAADCIzfLjrvcz8jYoAyUO0XmE7xGZXcCABAEqZepmHAHvU90u7%20iI/ndxevzDpVbJ5yllg7oae4+6peYsbYPiHyf8s/k/9N/h35d+W/4dgdXQ3wdPxXA9zMJAAAgIFk%20hg93zZeZv/F4QJfmCfcX03NHcCABAMpwl4wUexd3s2Vg/SEY3rdPO1PcPq6P0Hy5on92cavDofy3%208mvIryW/5g92LQys6CQO7Y5fAeD+O5KZBAAAMJTM8GG3+gczf5MigN8ffo9YFQcSAKCMe6/ra6uQ%20+vack8R91zjFxSPcok9WSdwCo/za8nvI7yW/JyMD227ritNFKpMAAAAGkxk+fBHA728yHlC7IPxk%20ADrFAgDUkOkbIQ4sPc7yofRvC7uFlvJnDxuWsE+R5feWP4P8WSxfCFjeSRzaZWwB4M0nmQQAAIgP%20meHD3wO0CxoVAVI9gYlhK/8cRACAIuZeOcjSYfTzRd3E9GDwzsgsSVj4b/ZhQfBnkT+T/NksvRpg%20g3G9AfZu7SKGMgkAABBH4YvA/gmNVwJ4tbuaLRfwBjiAAAAl9C+oEZ8uPMGSAXTvoq6hvfnxXO5v%20xHYB+TPKn9WShYCVncShPW0vAHy/q4M4bzSTAAAA8SWzfLN87/bPa9wTwBt4iPGAAABV3TAm23rh%20f3FXMXNchuibVWza8N+U/Fnlzyx/dsutBni27asBbrq2H5MAAABxF25MoMz8jYsAnsBzzW8WjAcE%20AKjhz3ecYanAuenWs8SAnCJlwn9T8meXz8FShYDVbWsQeN9sJgEAANqHzPLNm8KWPtu4COAOvNR8%20yVglBxAAYHqjq4us82lz0MIr0kSqx69sAaA+eAafg3wuhy1UCDi0tXWrAbYwCQAA0I5klm9+P9D+%201GQlgPZe078k5wtyAAEAZvf0lGRLBMxv7zlOjK8eonz4b0o+J/ncLFGkWRf7aoA3nmASAACgfcks%20H6YI8G7TIsC+Zt1j86s4gAAAUxsWqBCHlnVWPly+N+9EUVKSZ7kCQB353ORzVL4QcH8ncWin/gLA%20F1u6iHw/kwAAAO1LZvkwRYC9jacDeLSDzcb+sHQMAGBysy4fonyw3DJF7f3/sfQJkM9V+dUAT3XQ%20PQmgZrSXSQAAgHYns3yY1WE/Ni4CuP3/bLp8jIMHADC7l2adqXSgfPymcy2x/z+WPgHyOStdBHhY%2035aAidcwCQAAkDgy0ze5P/yzvgDg9Xp/3Xx8AF1kAQDmNjRQoXTTuVdnnyIyMktsUwCoX2kYfM7y%20uSvdIHBX9ALAvbNSmAQAAEgomemb3iNk9g8VAc7xFndpfgMp48ABAExtxh9cyobIvYu7iuxhw2xX%20AKgjn7s8BsquBng68paAzcsTOAnAyyQAAEAtmemb3idk9g8VAZK9JWc120eWXcGBAwCY2gsz1dxf%20fnBZZzGqwmvbAkAdeQwOKtrU8fCajhEmAZwg+ucyCQAAkHgy0ze9V8jsX9sPwFvSp9l4QJrJAABM%20LF+rFIcVDZDTLulr+wJAHXkslJ0SsKv5JIA8JgEAAExCZvpm94tg9q8dD+j15XAjAQCo5LbxbiXD%2047qJPQn/TchjovqWgNAkgFGJW93BhzcAgKZkpm++bcyXU1sE8GjlzZr2sJwMAGBiO2eco1xofG32%20KaK3DRsBtvgJdvCYvKZgo8DDa3/ZEjDhmv4JnATAFk4AQHMy0zcrAgSzf21PAI92cdP/2GcYTWUA%20AObUr6BGfHfPccqFxtGV9AGIRB4b5VYDrOhkgkkANHIGAERS07wnQDD71/YEcGnXNakOcMAAAKY1%20YoRPucC4Z8bphP0WyGOk2nndff+pItXDJAAAgDnJbN/o/hHM/rVFAI9vYqOqspf5sgAA85quYD+A%200UwDaHk1QIV6qwGmJKrJI5MAAAA6yGzf+P7hm1jbE8Dln9R4b1k5BwwAYFrrJzvVWgUwnVUAulcD%20TFdrNcCaG5OYBAAAMC2Z7RutIgtm/9qVAG7/5Ib/IS27kgMGADCtTxacqFRQHMUqAN1GKbYa4J25%20JzIJAABgWjLbN7mPTD7aGNA/tdHNJXcEBwwAYEpDAxVq7RlnFUDMdiu2GmBIbiGTAAAApiSzfePG%20gP6pdY0Bp7PEDACggmsvzlUqIJ7HKoCYnafYaoCxI11MAgAAmJLM9k0aA06v6wkwq+F/oNEMAMCs%20lt/QR5lw+Oackwj1rSSPnSrnedEVaUwCAACYksz2jVYCuH231xYB3P55jYoA3GQAACa1eVpPZcLh%20squdBPpWksdOlfO8YVKP+BYAmAQAAGhtESCY7ZvcV+6s7QngDixs+B84WAAAs3p77qnKhMMLh3sI%209K0kj50q5/kvs09hEgAAwLQa31d882t7Ani1expWmzlQAAAz6ht0YOlxSgTD75d2ERmZJQT6VpLH%20Th5DFc71/iXHMwkAAGBaMuP/cm/R7g4VAVK9gfsa7jnjQAEAzEilyQDPTz2TMN9G8hiqcr4Hx2FC%20QK9sJgEAAAwoAgQzfv39xaMtq10J4NFW/tJ5tpQDBQAwpQtqipQJhdPH9iHIt5E8hqqc7/JANpMA%20AACmJO8pv6z8D6yobQzo8a/+Zf5sOQcKAGBKN4/NVCYUlpTkEeTbSB5DVc73VecNZhIAAMCUZMb/%205R6jPXS0CKCtY+kZAMDsllzbX4lA+MmC7oR4g8hjqcI5v/Oy3kwCAACYswgQzPgN7jOP1PYE8GiP%201/1hWnYlBwoAYErrJ6sxNu6ZyWcT4A0ij6UK53zNjUlMAgAAmFJaTmWDe03gsbqVABvoQgsAMLtt%2003soEQhXXZ9MgDeIPJZ2KfzwHgwAEA/pucMbrgTYUNcT4Jn6G1DuCA4UAMCUXph5lhKB8K4/pBPg%20DSKPpQrnfPu0M5kEAAAwaRFgRIMigP+Z2ukAbv8mlqEBAMzu1TtOVyIQ3nJxPwK8QeSxVOGc/+n2%2005gEAAAwpd55VQ3vO5vqtgNsqftDmtEAAMzqnXmnKBEIx1cPIcAbRB5LFc75X+84mUkAAABTkhm/%20wXaALXXbAbbWFwG4EQEATOqTBScqEQhHlmUR4A0ij6UK5/yDu05gEgAAwJxFgGDGb7AdYGttEcCt%20PV/3hxwkAIBZfbmkmxKBcGhhPgHeIPJYqnDOv1jUlUkAAADTqi8CBLN/3XaAbXUVaQ4QAMCsDiw9%20TolA2C+7mABvEHksVTjn393ThUkAAADTklm/UREgxaNtr9uXxgECAJhR34IaJcLgoWWdCO8Gk8fU%207Of9cJCTSQAAALMWAbyltfehYPY/Oh1A21nbnbbUtgfl8ltmi+kLlsFA4ybM4AUHwDD9FCkCSANz%20igjvBpHHUpXznurxMQkAgGEunXg7mcJg42+eZdvfJ3n/OVoE2FFXBNgVqkxnldv2oLz+7vviwMFD%20MNCTm7dzAQdgqB/v7aJEGCwsziPAG0QeSxXO+Q9LuzAJAIChNm7dQaYw2Gtvv2fb3yeZ9WvvR9rO%20UBEg2a3ttvvytI8+/4IXhsFWrFvPBRyAob5a0lWJQFhTnkmAN4g8liqc832LuzIJAIChHnz8KTKF%20wT4OZj67/j6lBbP+0SLArqMrAXx/lH+Qll1p032m54n93x3ghWGwOUsf5AIOwFCfLTxBiUB4xXmD%20CfAGkcdShXP+8fzuTAIAYKj5968mUxjs6wPf27cIkFNZe09y+fccLQL4d9q5U212xVheFHEw4faF%20XMABGOq9u05WIhBOGdOXAG8QeSxVOOdvzjkp8iSAXCYBAIjd5Dl3kyniwFN6iS1/n9JzR9QVAXYc%203Q7gf7b2JjXClgdkxKUTeUHEwUXXTeUCDsDY/i13nqZEIFx4RRoB3iDyWKpwzl+eeSqTAAAY6rKb%20ZpIp4qBy7ARb/j7JFWlH703PhIoATo/2qJ2Xql1xy2xeEHFQMvpqLuAADPWnWWcpEQhX35BEgDeI%20PJYqnPOdt53BJAAAhqoYeyOZIg4unzTbpkWAqrr707q66QArQ0WA/CpbHpBpd93LCyIOBhSdzwUc%20gKF2TO+hRCDcdOtZBHiDyGOpwjl/7tazm00C6MMkAABt4C27hEwRB9PmL7Pl71NG/tEigEtbXtcT%204D75B3btWrtk5VpeEAbb9/W3XLwBGO7pKcnKdIpP9RDg20oeQ3ksVTjnj048l0kAAAxH83Lj3f3g%20OpsWAarregIsqC0CuPxL7FwEWLPhWV4QBnv/k8+4cAMw3H3Xq9EkTqoIZBPk20geQ1XO94LL05gE%20AMBwH3+xl2xhsLUbN9mzCDC0JnSPSnZrM2t7Arh9i0JFAJsuW1u/eRsvCIP99d33uXADMNzUyzzK%20hMK543sT5NtIHkNVzvcN5w9kEgAAw73z0SdkC4Nt3LrT1kUAp0e7pW4lwAL5B3bdu/bsjj28IAz2%20yhtvceEGYLixo4YpEwpfmHEaQb6N5DFU5XxXl2UyCQCA4eQHa2QLY23a9YJtf5+O3l+vaVwEsOnB%202PbCS7wgDPbHv7zOhRuA4YrLypQJhQeXdRYDcooI860kj508hqqc76yCYl6jAAwnP1gjWxhr+4uv%202LsI4PGPCxUBkt3+hXYuAux+5VVeEAbb9sLLXLgBGK5/QY1SwXB89RACfSvJY6fKeT6wtIvoyyQA%20AHHwxz+/RrYw+sPK4DG1bxFA+znZrY2qmw6wOMWj2fZgvPT6G7wgDPbcjj9y4QYQFx/OP0mZcLjq%20+mQCfSvJY6fKeX5r7im8NgHExfYXXyZbGOzlv9p327LTo/1vsstXVrcSYKnTxkWA195+lxeEwZ7c%20vJ0LN4C42DGjhzLh8OP53YWTQB8zeczksVPlPG+e1pPXJoC4eI7eZYZ77Z337FwE+KfT7SuoWwlw%20v52LAG998BEvCEZvAFDEQxPTlQmH0uU1bAmIlTxmKp3j5Tf04bUJIC7Wb95OtjCYzH72LQIE/p7i%209XtriwAe/6rgH9j2YLz/6We8IAy28tGNXLgBxMWkcZlKBcQ37jyZ1QAxrgKQx0ylc3zDmGxemwDi%204pGNm8gWBpPZz7ZFAG/gYJLL369uJcAjdi4CfPLFXl4QBlv60GNcuAHERaAioFRAlK48bzABXyd5%20rFQ7v0WlZbw2AcTFg49tJFsY7JO9++zbGNAb+C5pcHFyXU+A9U6vfYsAX3y1nxeEweYvf5gLN4C4%206Bv05ZJuSoXEN+ecJFI9BPyWyGMkj5VK5/Zvi07gdQkgbu5d/RjZwmBf7P/azisBvkp1F59etxJg%20o52LAF99d4AXhMFmLVnBhRtA3Gye2kO5T4uvGjWIoN8CeYxUO69P3ZrEaxJA3CxYvppsYTCZ/exb%20BCj9LCW7pGtdT4Cn7FoE6F80Wnz7w4+8IAw2Ze49XLgBxM1TM89VLiy+zWqAFlcBvK3YKgBpxmUD%20eE0CiJvZdz9AtjCYzH52/X1K9ZR+kOQt//e67QDP2rUI0K9wlPjm+x94QRhdBJi3lAs3gLi4ZYJH%20HNrSQbmwKF0zmtUAkchjo+I5HV6Wx+sSQNzccc9KsoXBvrF3EeANh2PyMbUrAVz+rU5vqX17Auz/%20mheEwe5cupILNwDD3TrRLQ7+8VhxaM+x4sj96gXGTxd0F+68AkJ/E/KYyGOj2vk8sLSLSM/089oE%20EDf3rFpHtjDY3q+/sW8RwBt40VH3CN6Ad6bauAjw4d8+5wVhsMUrH+HCDcBQU2921RYAjjryUEcl%20PzneM+N0keb1Ef6PksdCHhMlz+X000PPISO/mtcogLh46ImnyRYG+/iLvfYtAmSWbmpYBHjBzo0B%2033z/Q14QBluxbj0XbgCGmTapcQFAOrxezS0B0oprUygAHCWPharncea4jNBzSM8dwesUQFw8uWkb%202cJg73z0iX0bA2aWPdKwCPCKnbcDvPLXt3hBGGztxk1cuAEYYvotQxqF/3rbjlU2PEo3nD/Q9gUA%20eQxUPof5hUNDz6NXdgWvVQBxsXnXC2QLg7329ru2/X3qlVm6tGER4PVUG68E2PnSn3lBGGzjlh1c%20uAG02e2TB4cvANRtCXhQ3QD5/dIuolzLtm0BQD53eQxUPX+vzj7ll8kGmWW8XgHExZ5XXiVbGOyF%20V/9q5+0As+uLAE6P9radtwM8u2MPLwiDbd79IhduAG0y89boBYDaLQEdlf4k+eP53cWQvELbFQDk%20c5bPXeVzd8dlveufj53fQwGIr7+89Q7ZwmDbXnjZxkWAson1RYBkt/8Dp0ez7cF49JktvCAMtvvl%20V7lwA2i1O6YMarEAULsloIPSQbKuuVzfrGLbFADkc5XPWfXzVlCU3+h58boFEA/vfPQx2cJgT2/b%20Zd8igKd0XMPtAJ+m2LgIsPLRDbwgDCb7LHDhBtAac6YN1FcAsMCWgDpv3HmSGFqYb/kCgHyO8rmq%20fr7+esfJzZ5bxlAmBAAwnuxkT7YwlvwA2LZFAK82vGERYK+dq9iLV67lBWGwN977gAs3gJjNvW1A%20TAWA0JaAJzsqHyql/UuOFxePcFu2ACCfm3yOVjhXc8enN3t+vfNG8hoGYLh933xLtjDYysc22vb3%20KdnlL21QBPDtt3MVe+bi5bwgDPb+p59x4QYQk/nT+8dcAAh5voMlgqV0aFknMfuyDMsVAORzks/N%20KuepqDiv2XNkTCAAo/UtGCW++/Eg2cJgd69aZ8vfJ5n1g7m/suFKgAOhKnZ+lS0PyE2zF/GCMNjn%20X+3n4g1AtwUzWlkAqNsSsLqjZQKmtGHSOZboEyCfg3wuVjo3u6efHva5pmVX8loGYKjsynHkijiY%20tWSFLX+fZNZPcfmrGxYBDtl5KdsVk2bzgjDYtz/8yMUbgC6LZvZrUwEgtCXguQ6WCpq1fQJObtZ8%20TiXyZ5fPwWrn5dIqV9jn2yurnNczAEMFLryWXBEHE2ctsmcRIJj1nR7f+Q2LAP+w81K20VdN5gUR%20B5nlY7mAA4jq7ll921wAqF8NsLKT5QLnwWWdxdoJPUW+Qk0D5c8qf2b5s1vtfLw/7wSR6gn/vFMz%20y3hNAzA4o9xKpoiDyybebsvfJ5n1nW7/mIZFgP8JLWXLGW7LA6JdRJUtHkovvp4LOICI7pndx7AC%20QGg1wEbrrQZQqRhg5fBfZ9olfSM+f4oAAAxfrXzLHWSKOBh52U22/H2SWT/ZrV3WsAjws533s2VV%20jOUFEQdjrp/GBRxAWPfemWFoASBk97HiyPJOlg2gZi0G2CH8S1/ffZzolx25T0Oqt5TXNgBD3Uzf%20srgYVnW5PYsAwayf4tEub7YSoFdWhS0PSL/CUaE97LwojHX99PlcwAE0c9+cOBQA6lYDPN7R0kG0%20YTFg3cSeYlyVKyENBOX3lN9b/gxWD/917rvGGfWYOL0BXt8ADMUEs/gYWHKBLX+fZNZvshLA95+h%20IoCNl7Lt+/obXhQGu33Rci7gABpZPrd33AoAITuOtUUgbejHezuHOtbLMXyl/hy538/w0C+/pvza%208nvI7yW/p52OsRxvmF84NPox8lAEAGCsxQ+sJVMYbP+B7237+ySzvtPtu6ThSoAjtfvZ7LuU7ePP%209/LCMNiSlY9wAQdQb8W89PgWAOpWA6zraLtCQENfLOoqHpt4rrj+/IGiuiwz1KV/QE6R7sAv/678%20N/Lfyq8hv5b8mnY+pk/cdG7LhRKPxuscgKFWPrqBTGGwz/Z9advfJ5n1g/erCxsWAX60+1K2tz/8%20mBeGwVY/+QwXcAAhD96V1i4FgPrVAPd3snVoDef7pV3ER/NPEC/PPFU8d+vZYvUNSSHyf8s/k/9N%20/h2OVfPjljNsqK4CCq91AEZ69JktZAqDvfPRJ7b9fZJZP9mtjWpYBPjO7lXsP7/5Ni8Mg23cupML%20OGBzfYNWzW/HAkDdaoAnOxJgYYhFV6TpXkXBax6AkZ7dsYdMYTCZ+WxbBAhmfadbq2rYE2C/3W9g%20l98yW0xfsAwGGjdhBhdwwOYFgNULe7V7AaB+UsAKAiza5m8Lu8XUeJHXPQAjXTrxdjKFwcbfPMu2%20v0+19ypfZcOVAHvrbmAZQ2t40QEA2lwAWLMoNTEFgLrVAE93IMiiTSZcMCCGBor0BAAAmJPM+PJe%20lezyl9YXAZLd/s/qiwD5VRwoAEDrCwAFNWLtYmdCCwB1ju2MGzcAABxMSURBVKxiWwBa57XZp4hU%20TwwTFGgMCAAwaxEgmPFD9yqX5mu4EuCjuptY77yRHCgAQKsLAI8uSTFFASC0GmAzqwHQOqMqvLGN%20UWREIADApGTGD92vXIHChj0B3qu7iaXnjuBAAQBaVQB47G7zFADqCwFrWQ2A2GyYdE5MBYDaCUul%20XAcAAKYkM37tdgBffsOVAG/VFwFyhnOgAAAx6VdQI564J9l0BYCQnTQJhH6fLegmBucWxlwESKUI%20AAAwaxEgmPFD9yqXP7thEeD1uptYWnYFBwoAEFMBYP29SeYsANStBtjEtgC07HDQ+ZWemAsAoTdW%20mWVcDwAApiQz/tGeAJ6GRYA/193EemWVc6AAALr0L6wRG5aZuwBQXwh4nG0BiG7p1amtKgCE3j9R%20BAAAmJTM+LXbAQKDG/YE+BPL2QAAsRYAnlrWU4kCQMgepgUg+jSAdK+v9UWALFZSAgDMSWZ8ea9K%20GuLr33BE4G5G3AAA9BpQWC2evu9cdQoAdbZ1EEfuJ/CisQNLu4ii4rxWFwBC2ylzKrk2AABMSWb8%202p4Agd4NVgJo2xveyDhQAIBoBYBn71ewAFC3LWAj/QHQ2KSL+repAMB0JQCAmdXfr1wlqQ17Amxp%20eCPLyK/mYAEAmhcAiqrFc8t7KFsAqC8EPMK2ANR6bOK5bS4ASL3zq7hGAABMR2b7untVssuX1LAn%20wNONbmR5IzlgAIBGBhZVi80r1C8A1PcHeJhCgN1tn3amSGtDH4BGqyiH1nCdAACYjsz29UUAb8lZ%20vxQBPL41LGkDAEQrAGx54BxrFADq7KZRoN0bAfbLLjakAEA/JQCAWclsX3/Pyi7p2qAIoC2juQ0A%20IJxBxdXi+ZVnW6sAUGfnseLISgKx3Xx41wnCk19gSAGAyUoAADOT2b7+fpWX9/v6IoDTo81tPOam%20nAMGAAgVALY9aNECQJ3tx4ojKwjGdrFvcVdRUJRvWAGA900AADOT96ij96ufgtH/V7+MCPT4pzaq%20aGeWccAAwOYGF1eJHavOsnYBoM5WRgfawXf3dBHDS7MMLQCwghIAYGYy2x+9Xx12NHykuLTrGu1t%208wY4YABgY/0La8R2uxQA6iYGbKIQYGUHlnYRF49wG14AoKEyAMDMZLYPZXy3/8vGRQCPf1yzLrcc%20MACwrQfmpduqANBoRQBbAyzny8XHixFxWAHAZAAAgNnVTwZw+z9oshLAX930hpbBDQ0AbGnSjV57%20FgAa9gigWaBlfDT/BFFYnBe3AgCrJwEAZiUzfYN71l8aFQGcLr+/2dK2/CoOHADYzHkXFYsDuzra%20uwhQNzWA8YHKe/2Ok4V3aEHcCgC1TQEruHYAAExJZvoG96ydjYoAqS5/dtObWjr72wDAVvIrKsSn%20m7pSAKiz+1hx+GEKAaraedsZon92cVwLAKH3S7kjuH4AAExJZvr6e5bH/1SjIkCSy9+v2U0tZzgH%20DgBsYmBRtXjpkdMI/k3tOVYcXkchQDVP3txDpHt9cS8AhLZP5ldzDQEAmLMIEMz09dvXXP6HGxUB%20kl2+pGbL27JZ3gYAdrFuiZPAH21ywEYmB6jgh6VdxPSxfWQH5HYpADg9GtcPAIBpyUz/SxHAd2/j%20xoBu38lNb2xyniAHDgCs75qrcwj6emzrII6sImib1ZtzThKaL7ddwv8v/QDKuYYAAExLZvr66QAu%20/5zGjQGHFHZsXt2m2y0AWF3/whrxzsYTCfixbA94nO0BZvPAdSkiI7OkXQsA9AMAAJidzPS/FAF8%20UxoVAbxe76/Dzr3lwAGApU2e6CHYt2Z7wKYO4sgKwnei7V3UVVwy0t3u4b/+fRLjlAEAJtb4vuW7%201tH0EfwP/0WzGwCwj0HF1eKT55gG0JYxgofXsCogUbZMOUt48gsSVgBg2yQAwMxklm9073JpY8MV%20Ab5jmRsA2MfsKYMI8katCniQUN5e3p17ori0ypWw8M97JACACuR9qtF2f7dW1awIkOz2f9b0BpeW%20U8kBBAAL8vhHiH1bjyPEG9krQE4QWE5Ij5f9S44Xt43tK9LaafRfi6MB2QoAADAxmeUbFQFcmq9Z%20EcDp9r9G11sAsIcls/oS3ONh17Hi8GNsETDSwWWdxYprU8Tg3EJThH+2AgAAVCCzfOOVACXucNsB%20Nje7yXlLOYAAYDFebYT4ZkcnAnucxwnSL6DtNk85SxQV55km/LMVAACgCpnlG9+/tJ5higC+h5qP%20CdQ4gABgMTdcm0VIby/PdxCH13UUR+4n0Ov1w72dxboJPUXAn2O68M9WAACAKmSWb3jvOsdb3CXc%20doB53OgAwPrW35tEOE/EJIEnOzJWsIVxf/MvT09ox389emVVcB0BAJiazPBN7l8/ORyTj2m+EsDj%20mxjuZtc7r4oDCQAW0b+wRny1rQuhPJENBJ/uII6sYqtAndfvOFnceMEAkZ5ZYurwz/hkAIAqZIZv%20cv/61hHukezRLmbfGwBY28XjCgjiZrGlgzj8eEdx5AH7Bf/PFnYTK65LEdVlmUoEfxoCAgBU0nQ8%20YNA7YYsATpffH+6Gl5bNmEAAsIrlc3sTvs1oq/ULAp8u6C7uv8YpqoLBP9XjVyr8/7I6ciTXEQCA%206ckM3+QetjP8SgBXYHDYvW9UvQHAMt576gQCtwoFgSc6iiMPqh/835t3olh2tVMML80STreawb++%20WbI3wDUEAKAEmeGbNPx/NGwRoNcQ7RxuegBgXYEajYCtYkPB5zqIt5eeKP50+2nih6VdzNvVP/iz%20vRj8Ge+5KlVcWuUS7rwCpUN/s+2ROcO5jgAAlCAzfKP7mMu/JPx2gCGFHSPd+DiQAKC+aTe7CNUK%20enTxOSLV66sNopklYkRplrh9XB+xYVIP8drsU8TXdx/X7oF//5LjxavB773+5h5ixtg+oU/604/+%20jJYkRyYzLQkAoIim97Fkl2+KI8LjV8G/8D90wgUAa7p7Vl9CtWLWLfqlABDNkNxCURnIFlePGiTm%20ju8t1k7oKfZMPz3Uef/9eSeIzxd1E9/ec5w4HCXYy/8m/478u/LfyH8rv4b8WnOCX/Oq4NeuCH4P%20+b0sG/YjSMuhPxIAQA0yuzdb3e/yj49UBHAE/8JXYZfA0QgHAJT3yGInwVohaxf2EKkeYz9dl/vy%20+2YVC1deocgvHBoi/7f8M6fNgr3uY+ZhWyQAQB0yu4e5n1VEKQJobzAhAACs6fmVZxOuFbFmgfEF%20ALSyFwCjkgEACgkzGUAke0oyIxYBkt3+55kQAADW9PoTJxOwFbB6/rkUAEwiNbOUawcAQCmpTSYD%20hO5nXi0l8koAj28NS+EAwJo+33I8IdvkVs3rGbznEr7Nond+FdcOAIBSZHZvdk/LLukauQjg8i+I%20OCGArrgAoKwBhdXiICHb1FbOpQBgJr2yyrl2AADUagoYzOxh7mk/e73eX0csAjhd/kkRq+F5VMMB%20QFXDKssJ2ib2wJwkCgCmooXeSHHtAACopHf4poDfO6I9Ulza2IiNcXKGc2ABQFGB6gBh26SW35FM%206DbdSEDe8wAAFGwKGLx/NbuvefzvRy0CJLlLSlgWBwDWk6mNIHCb0H2zKQCYrxkgzZABAGqSmT3M%206rbt0YsAXn9axJuilw65AKCy73Z2JHibyL2zUgjdJuP0sA0AAKAumdmb3dvc/geiFgGcQwo7Rrs5%20cmABQF0fPN2d8G0S98ykAGDKaQB5I7lWAACUFe7eluzyTXG09Aj+xSORbo4Z+dUcXABQ1ItrTyeA%20m8DdtzsJ3KacBlDBdQIAoKyM/KpI97gL9RQB3onYHDB3BAcYABT11H09CeEJtmh6KoHbjNsAvAGu%20EQAApcmsHvY+59FyWywCOF2+5yJ2y82mSg4Aqlp5VxpBPIEW3kYBwLTbAPIZgwwAUJvM6mF7+w0u%206dFiESDZ7V9Kx1wAsJ65tw0gjCfIXVN7EbZNilWOAABLNAUMZvWwW/oziv9Nx3YA7aZoXXM5wACg%20piuvzCWQJ8DcKWmEbZOS85S5NgAArEBm9TD3uu8ceh4pHn9NtBsmo3MAQE0u30hxYBdjAtvTnFsp%20AJi2ESBbHAEAVmkKOLQ60v3uVV1FAKdL8zA+BwCs6fkHzyact5PZt6QTtk07CaCc6wEAwDJkRg/f%20FND/pK4iQKq7+PToS+cqOdAAoKhpN7sI6O1g1iQKAGaVmlnKtQAAYK2mgMGMHv6+55uvqwiQkTHm%20N8F/8FPE6jnNAQFAWQWV5YT0OJtxU2/CtolHAbKtEQBgl6aAQdc49D6cbv+XNAcEAGt67fFTCOtx%20Mn1iBmHbtAWAUgoAAAA7NQWUf16uuwgQ/AcvRm8OWM3BBgBFLZ7Zl8AeB9MmUAAw7xaAMtGHAgAA%20wIpNAfMjNgUUSS5/v1iKAGuZqQsA1lR9YTGh3WBTbuxD2KYJIAAA7U5m84hFAG95N/1FAI9vNmN1%20AMC6Xnn0VMK7QSbfQAGAMYAAACRGr6yKSPfBfwaj/a/09wRw+cdHXVbnpbMuAKhszKXDCPBtdHDP%20sWLSdX0J2yaVljOc1zoAwPr9AILZPOy90OX/2BHLI8ldUtLSzZUDDgBq27HqDMJ8GwoAN1/bj7Bt%20UmxbBADYwtCaKPdDbXtMRYDgP+jZ0g22d14VBx0AFFZZnUOgb2UBYOI1FABMOwEgn+bFAAB76J03%20MuI9MdntXxrbSoCk8t8G/+H/sswOAKzdRGbj0rMI9jH4cU8HceNV/QncZlz+z/5/AIDNpOVURi6M%20e7SrHbE+5B6CqM125LgdDjwAKLp/LBC6lheV5Ykfd3cg4OssAFx/5QACt9k+/fdooU9CeF0DAOxG%20jsCNeI8cohXFXgRw+59p6abLgQcAdVcB1Hl4/rmEfB0FgOuuoABgNvLNT8bQGl7XAAB7fqgTzOSR%207pE93aVnx1wECH7BuS3dfDOGsu8OAJSrGjfpIptVPEx8saULYT9SAWB3B3HN5QMJ3Sb79D89l22J%20AAD7klk8yr3yv71e769jLwK4fZfQfRcA7HHDGHW+R/zAtoCwBYCr/0ABwGx7//n0HwDAys4RUe6X%20vvccrXkke0oyW7oR96IJDwAodsMYHvGaPvXGPgT/JgWAK8YPInibhOxFROd/AABqySweccWcW9vQ%20qiJAj8ElJ7S4F89bygkAAJVuGFnlUa/raxb0oAAQJFdFXH4ZBQBT7PsPvtdgLDEAANG3dzbi8c12%20tPYR/AKHW7o5cwIAQB0pURrIhLZ5ZZWIP6052fYFgPGXDiaAJ3rfvzfAtkMAACK9p4t+H72wLUWA%20v7R0k6Y6DwBqkNdrPeHLWzRMfPrccbYsAHy/q4O4bBwFgER3/GfkHwAArX9Pl+TVhrS6COB0+R9u%20sUFPTiUnAgAUkJZdqTuIVVZliQM7O9quADBu7BCCeKL2/GdVsOcfAAA97+lyor+nSx2kHd+WlQCT%209VTsOREAoPjesTAuvtgl9m/rZIsCwJfPdxbnX+AmjLf7qL9A6I0M3f4BAIjhPV0wg0e5v/7oaMsj%202aUNb/kmrnEiAMDkZMhqTUgrKc8V7z/V1dIFgHc2dBMFgTxCeTsGf9nRmO2EAAC0th+AFmUygP+l%20NhUBktwl6Xpu6NzIAcDse8dGtjq0DRlWKPY8dIolCwA7HjxNDMovJJy3xyf+Mvjn834BAID49njS%20VrapCJCal/d7PTd3+gIAgLnJLuttCXHpmSVircXGBz44t6dIy/SZPDxrigZ/TaRmlob6UBD8AQBo%20v34AwXvwTY62PoJfZF/LfQFKOSEAYOYiQM5wQ8Ld7Tf3Fj/u6aB0+P9xdwcxbUKGEl3y66v+wSCd%20FjyHvbLKTVkYkD+T/Nnkz0joBwAgnv0Aovd4Snb5ytpcBHC6/dv0vAHghACAiavGMUwGaInsoL93%20axclCwCfb+4iLrrIpUABQBbXIzfLk1305eoO+WmADN/y78sl9+2xrF9+r9rAXxn6GTKG0tEfAID2%206wfQwr3a7XMasBLAv1hfXwBm+gKAWcnQZmQYHJBXJBbdliq+2aHG9IBvtncSd03tJfrlFpu/AOAt%20FX3a0C1fFgjkPVmu/pBBXRaAZCM++TtQWzAoqxX8PiFH//+6/y7/rvw3oZAvP9kPfi1G9wEAoESP%20p/89zTv6d0asBBijqy9ANn0BAMC8S8fK4hJYvUXDQnvrf9htzi0C3+/qIFbcmSTcBQVK7KWXoZxx%20eQAAoJUrO991GPFIcvn76f7kghMDAOYsAnhL4xpe5Yi9jUvPMk34P7jnWPHEkrPFUC1fnQ763gAF%20AAAA0Or3c06X/2FDigADB5b/q1xWoKsvAG9eAMCU2mO/uFRRlSU2Lz899Al8IsL/gV0dxbP3nSFK%20R2SrNUKPAgAAAIgm+D6hpfcTyR7/9Q6jHilu33v0BQAA6zaRMZrsGXDl+EHiscXniC+f7xzX4L9v%20a2fx6KJzxOWXDRL9c4uUG6cnCzQUAAAAQBv7AcjJAPnGFQE8vjX6+gJUcIIAwIxFgASOlevl9YlR%2053vEstnJ4v2nuhoS/N/Z0E0snZkiakZ5Q19fteDfuABA0z0AANBSP4CKlt9bZJd0NawI4HT7bqAv%20AAAovB3AGzBN8M31DRVV53lDn9xPm5AhlsxwinWLzhHbVp4m3niiu/jbpuNC/1f+//LP5X+Xf0/+%20/ZHnZYqckqHKhv7GBQCNrvsAAMCg/k6+/Q4jH3JZgd43NSxpBAAT3jgySy0RnK2CAgAAANArQ0c/%20AKfL95yhRQC5rEDvG5v03BGcKAAwGTn/nfBtpgJAFb+XAABAF5mxW+wH4Pbd7jD6IZcX6Nr7SV8A%20ADBfEUDPPjLEn0cTvSkAAAAAw9/H+SoNLwLI5QV6xxxxogDAZM1kcioJ4Amnid55FAAAAIDxvZ1S%20B5f0MLwIkOzWZurvC8A+RwAw1zKy4YTwBGOMLgAAiL0fQLWe9xl/dzgmH2N8EcClDdfdFyBnOCcM%20AMxUBNAxWxYUAAAAgMnew+W0/EGO0+1/yRGPh9Nbeq7eNzupmWWcMAAwEbkPnTCeGOkUAAAAQCvJ%20bK1jy+E9jvg8Jh8jlxnofdPDCQMAc5FN6Qjl7VwAYGIOAABotRp97zlc2lhHvB5ymQFLHwFATb10%20VZJBAQAAAJhiJafO7Zyp3sCAuBUB5DIDvW9+GBUIACbbU0ZzwHYsANAbBwAAtPEDnCxdI55/Ss3L%20+338igAubazeN0BOD6MCAcBMdHaXRRul0RwXAAAYQGbqFt97ePzvO+L5SHL5+8XyRigjn1GBAGCq%20m4mOObNoSwGgkt8zAADQ9g9vdDZ1drr8D8e3CJBU/tsUt+8/+TQEABRdVpZdQViPVwEgmwIAAAAw%20hvxgQdd7EI92uSPej+A3ekH/qMBSTiAAKNhgBrEWAOiDAwAAjCOztJ73IMmeQN+4FwGSXf45MW0J%20GFrDSQQA06ghtBuMRrgAAMDYPk5636/5/jMjY8xv4l4EcHq0ckYkAYDCWwKyygnvRhUAgseS3ykA%20AGAkmaF1vhd5wdEej1Rv4CTeIAGAyo1mmBJAAQAAAFjgA5s7He31SHFr+/SPCtQ4kQDAagAKAAAA%20ADrIDK2rH4DLV9aORQD/Y7G8WeqdX8XJBABWA1hCamYZv0MAACAueudV6X9P4g2c1I5FAN+1jE0C%20AFYDUAAAAAAwTprucc7aPkd7PpJdgcExvWnyMioQAFgNoHoBQN7LmHgDAADiuBXAG9C77f7Rdi0C%20nOYd/bvgN/7v2EYFVnNSAYDVAGoWAGQxm5G3AADAPB/QXONo70fwm/45pi0BOcM5sQDAagAKAAAA%20AOG2AuRU6n5/Ilfnt3sRINntXxj7MkpOLACY74YznLAfaamdNyAyKAAAAIB2ID940Pke5b/l6vx2%20LwI43b6Rsb6Z4o0UALAtgAIAAABAk9WZQ2NanfmKIxEP55DAGbG+oUpnSwAAmFMw7OptRGOLAoCH%20AgAAADDpykyXf4EjUY/gD/ANWwIAwEL9ATwaBYBQAYBmtgAAwJRbAYRclZ+wIoDTrW1gSwAAWEd6%203kibFwC0UDGE3wUAAGDSrQAi1V18euJWArj8E9gSAAAWW46WXUkBAAAAwIxbAdz+bxyJfKS4fYNi%20HrWUWcaJBgCzL0kLXqvtVwCo4twDAABTbwUIWpfQIkBGxpjfBH+II2wJAADrscvEgNAUAFYAAAAA%20BbYCpLi0sY5EP5wu33MxbwnIZUsAAKixPM3aWwPkigcK0wAAIFHSY9sKIFIHl/RIeBEgxaVdx5YA%20ALDwzSl3RPDabb2pAb2yKzi/AAAgwVswY9kKoO1zmOHhHOLPaM2bLz55AQB19M6vCu2bt0oBgCa1%20AAAg8VsBamJ7D+Pxr3KY4zH5mOAP9EPsWwJGcOIBQLEbVYyNa0zZALB33kjOJwAAUG4rgNPjO99h%20lkeKx/8kWwIAwB7kMnpl9//TABAAACi5FcAvemYFTjVTEeAPbAkAADutCqhWZnqA01vKp/8AAEDt%20rQBu/ycOMz1SvVpKq/ZksiUAAJTvFSA/YTfn0v8A9xkAAGDOrQC5w2N9b3Ofw2yP4A/1TWtmM8tP%20kgAAapOFADM1DpS9CzgvAADArOSHFTFlZ7dvpBmLAGutPEsaAAAAAIBE6OkKdDddEcDp9o/h5AAA%20AAAAYKh3HWZ8JHtLzuLkAAAAAABgYJ8jt2+Rw6yP4A/4BScJAAAAAACjaAETFwG0lZwgAAAAAAAM%208fO52Vpn0xYBkt3aKE4SAAAAAACGeN1h5keK23cyJwkAAAAAgLZLdvnnOMz+SHb7P+BkAQAAAADQ%20Nk6Pf5jpiwBOt38eJwsAAAAAgDb5x2ne0b8zfxHA68vhZAEAAAAA0Ba+px0qPJKSyn8b/IEPc8IA%20AAAAAGglj3+cQ5VHilt7gpMGAAAAAEDrJA0uOkWhIoD/Qk4aAAAAAACt8pZDpUdPV6B78If+mRMH%20AAAAAEBskt3aTIdqj+AP/ionDwAAAACA2KR6fC7ligDJHv9UTh4AAAAAADH5oby8/F+UKwIkDfH1%205+QBAAAAABADj2+NQ83H5GOCT+BbTiIAAAAAADq5/NUOVR8pbm0lJxEAAAAAAF1+Osdb3EXhIoC/%20gpMIAAAAAIAuLzpUfqR5/R2CT+J/OJEAAAAAAESX7Pbf7FD9keLWdnEyAQAAAACILsldkq58ESDZ%2047+ekwkAAAAAQGROt/9LhxUeSYOLkzmhAAAAAABE4dGWOazySHb7P+OkAgAAAAAQYSWAS/NZpwjg%208s/hpAIAAAAAENb/Gziw/F8tUwRwerSBnFQAAAAAAMJ6xGGxx6+CT2ovJxYAAAAAgMaSXb4yqxUB%20HE63fx4nFwAAAACARv6ekVH8b5YrAqS4fYM4uQAAAAAANLLOYdHHr1Lc2j5OMAAAAAAA9SqsWgSQ%20qwHmc4IBAAAAAAj5R2pe3u8tWwRI8mpDOMkAAAAAAIQ85rD2Y/IxwSf5FScaAAAAAGB3yS5tuMPq%20j2S3fyEnGwAAAABgb77/TPKW/7vliwBOd4mbkw0AAAAAsDftCYc9HnJLgG8/JxwAAAAAYNutAB7/%20CIddHsEnvJiTDgAAAACw61aAHoNL/q99igBev5eTDgAAAACw5SoAt3+9w16P0JSArzn5AAAAAAC7%20cbq1KofdHilu392cfAAAAACAzfzXWf2H/YftigDJbi2Lkw8AAAAAsJmNiczi/x8v4PHUCeCGlwAA%20AABJRU5ErkJggg==%22%20x=%22-24.153%22%20y=%2228.847%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2234.077%22%20y=%22132.058%22%20font-size=%2245.765%22%20transform=%22scale(.81332%201.22954)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%221.198%22%3E%3Ctspan%20x=%2239.396%22%20y=%22132.058%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3EOLED%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "451b3f36-c38d-4d7d-aae0-a9ac7b470f56", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -736, + "y": -24 + } + }, + { + "id": "0946cfce-9886-460a-9f63-1686d8fb2a49", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, + "position": { + "x": -504, + "y": -24 + } + }, + { + "id": "c2c629cb-1c92-48fa-bc4f-67115ddc6039", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 360, + "y": 40 + } + }, + { + "id": "edfb6ee6-b3b3-4f43-8217-f68f70b3a822", + "type": "basic.input", + "data": { + "name": "sda_ADC", + "clock": false + }, + "position": { + "x": -736, + "y": 48 + } + }, + { + "id": "8876bb44-61f1-4174-8ee0-8f1ec3935883", + "type": "basic.output", + "data": { + "name": "slc_ADC" + }, + "position": { + "x": -296, + "y": 48 + } + }, + { + "id": "d761dd5f-aef4-49f8-a18c-17a6228edbe9", + "type": "basic.output", + "data": { + "name": "sda_OLED" + }, + "position": { + "x": 664, + "y": 128 + } + }, + { + "id": "88774992-2b2a-4642-87ad-15dd71b53013", + "type": "basic.output", + "data": { + "name": "scl_OLED" + }, + "position": { + "x": 664, + "y": 200 + } + }, + { + "id": "466b625c-86c9-4084-9867-34ebe4fbdfd6", + "type": "basic.memory", + "data": { + "name": "table_for_x1_values_cos", + "list": "0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n1\r\n1\r\n1\r\n2\r\n2\r\n3\r\n3\r\n4\r\n4\r\n5\r\n6\r\n7\r\n7\r\n8\r\n9\r\nA\r\nB\r\nC\r\nD\r\nE\r\nF\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15\r\n16\r\n18\r\n19\r\n1A\r\n1B\r\n1D\r\n1E\r\n1F\r\n21\r\n22\r\n24\r\n25\r\n27\r\n28\r\n29\r\n2B\r\n2C\r\n2E\r\n2F\r\n31\r\n33\r\n34\r\n36\r\n37\r\n39\r\n3A\r\n3C\r\n3D\r\n3F\r\n41\r\n42\r\n44\r\n45\r\n47\r\n48\r\n4A\r\n4B\r\n4D\r\n4F\r\n50\r\n52\r\n53\r\n55\r\n56\r\n57\r\n59\r\n5A\r\n5C\r\n5D\r\n5F\r\n60\r\n61\r\n63\r\n64\r\n65\r\n66\r\n68\r\n69\r\n6A\r\n6B\r\n6C\r\n6D\r\n6E\r\n6F\r\n70\r\n71\r\n72\r\n73\r\n74\r\n75\r\n76\r\n77\r\n77\r\n78\r\n79\r\n7A\r\n7A\r\n7B\r\n7B\r\n7C\r\n7C\r\n7D\r\n7D\r\n7D\r\n7E\r\n7E\r\n7E\r\n7F\r\n7F\r\n7F\r\n7F\r\n7F", + "local": true, + "format": 10 + }, + "position": { + "x": -176, + "y": 48 + }, + "size": { + "width": 192, + "height": 88 + } + }, + { + "id": "35ab7c2f-242b-4ec3-abcc-260bef9d4644", + "type": "basic.memory", + "data": { + "name": "table_for_Y1_values_sin", + "list": "3F\r\n3D\r\n3C\r\n3A\r\n39\r\n37\r\n36\r\n34\r\n33\r\n31\r\n2F\r\n2E\r\n2C\r\n2B\r\n29\r\n28\r\n27\r\n25\r\n24\r\n22\r\n21\r\n1F\r\n1E\r\n1D\r\n1B\r\n1A\r\n19\r\n18\r\n16\r\n15\r\n14\r\n13\r\n12\r\n11\r\n10\r\nF\r\nE\r\nD\r\nC\r\nB\r\nA\r\n9\r\n8\r\n7\r\n7\r\n6\r\n5\r\n4\r\n4\r\n3\r\n3\r\n2\r\n2\r\n1\r\n1\r\n1\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n0\r\n1\r\n1\r\n1\r\n2\r\n2\r\n3\r\n3\r\n4\r\n4\r\n5\r\n6\r\n7\r\n7\r\n8\r\n9\r\nA\r\nB\r\nC\r\nD\r\nE\r\nF\r\n10\r\n11\r\n12\r\n13\r\n14\r\n15\r\n16\r\n18\r\n19\r\n1A\r\n1B\r\n1D\r\n1E\r\n1F\r\n21\r\n22\r\n24\r\n25\r\n27\r\n28\r\n29\r\n2B\r\n2C\r\n2E\r\n2F\r\n31\r\n33\r\n34\r\n36\r\n37\r\n39\r\n3A\r\n3C\r\n3D\r\n3F", + "local": true, + "format": 10 + }, + "position": { + "x": 24, + "y": 48 + }, + "size": { + "width": 192, + "height": 88 + } + }, + { + "id": "739dcc28-9a0e-4815-9814-cf81f4c0414b", + "type": "basic.constant", + "data": { + "name": "(x0, y0)", + "value": "63", + "local": true + }, + "position": { + "x": 240, + "y": -16 + } + }, + { + "id": "c4de04e1-476c-489c-936e-99f9bc953761", + "type": "1d53b6c9876f17e5eec718e3dce1789316eecc43", + "position": { + "x": 512, + "y": 88 + }, + "size": { + "width": 96, + "height": 192 + } + }, + { + "id": "2eda29b8-754e-42b7-b060-93883a432761", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", + "position": { + "x": 240, + "y": 104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "type": "fe216fc3f7e19209c184579380d23a46cb3ac1b5", + "position": { + "x": -504, + "y": 160 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "f5d71734-2a2c-4547-b254-72ad592b65fe", + "type": "18fd28fbb97a4fd982053988e015aa934dcd6014", + "position": { + "x": -736, + "y": 208 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "499269bc-f5a7-4c8e-9a16-aadd39fb03b0", + "type": "basic.info", + "data": { + "info": "Divide by 2. A resolution of 256 converts it to 128 and thus matches the width of the screen.", + "readonly": true + }, + "position": { + "x": -336, + "y": 432 + }, + "size": { + "width": 224, + "height": 32 + } + }, + { + "id": "113e2359-30c9-412f-9b67-1d527b6b191b", + "type": "basic.info", + "data": { + "info": "Voltage range for the potentiometer: 0 .. 3.3V", + "readonly": true + }, + "position": { + "x": -520, + "y": 104 + }, + "size": { + "width": 152, + "height": 32 + } + }, + { + "id": "dbdaca70-03e3-4565-9ef3-aab1ce559dd6", + "type": "basic.info", + "data": { + "info": "Initial fixed point", + "readonly": true + }, + "position": { + "x": 232, + "y": -56 + }, + "size": { + "width": 112, + "height": 32 + } + }, + { + "id": "ab6df350-6ab3-437b-a41a-724a1a9a718a", + "type": "basic.info", + "data": { + "info": "Controller that draws a line from the point (63, 63) to (x1, y1)", + "readonly": true + }, + "position": { + "x": 464, + "y": -16 + }, + "size": { + "width": 216, + "height": 32 + } + }, + { + "id": "a78e26aa-d6a4-4d64-aeee-438d3184146a", + "type": "basic.info", + "data": { + "info": "**ADS7924**", + "readonly": true + }, + "position": { + "x": -488, + "y": 296 + }, + "size": { + "width": 64, + "height": 32 + } + }, + { + "id": "d3c2c1b3-3aa2-487a-931b-2c69f276b0cd", + "type": "803b529bd8442eec469c2f5e6f8da7958fcf7a87", + "position": { + "x": -56, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1f146a2a-9829-4d98-9dcb-07e57c40762e", + "type": "803b529bd8442eec469c2f5e6f8da7958fcf7a87", + "position": { + "x": -56, + "y": 328 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "43fea83c-8831-43c6-b365-8136d2d997ef", + "type": "basic.info", + "data": { + "info": "Channel 0", + "readonly": true + }, + "position": { + "x": -720, + "y": 176 + }, + "size": { + "width": 64, + "height": 32 + } + }, + { + "id": "f0bcd98d-4330-4d04-be73-385041da14f3", + "type": "basic.info", + "data": { + "info": "Sine and cosine tables adjusted to a resolution of 128x64 for the OLED screen to traverse a semicircle. The Y axis of the OLED screen is inverted. The tables already take it into account.", + "readonly": true + }, + "position": { + "x": -176, + "y": -32 + }, + "size": { + "width": 392, + "height": 32 + } + }, + { + "id": "431ad17e-0a1b-4baa-b984-19804a07c7d3", + "type": "72f2da08f76e48c31eb87c8061f01f020e2650be", + "position": { + "x": -288, + "y": 328 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "451b3f36-c38d-4d7d-aae0-a9ac7b470f56", + "port": "out" + }, + "target": { + "block": "0946cfce-9886-460a-9f63-1686d8fb2a49", + "port": "inlabel" + } + }, + { + "source": { + "block": "c2c629cb-1c92-48fa-bc4f-67115ddc6039", + "port": "outlabel" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "363468a9-95d5-4dce-8ef6-18b3b0982d4a" + } + }, + { + "source": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "63ff40e8-1086-4009-acb8-7168068c695a" + }, + "target": { + "block": "d761dd5f-aef4-49f8-a18c-17a6228edbe9", + "port": "in" + } + }, + { + "source": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "75c10854-16ec-47bc-953c-52faada66c07" + }, + "target": { + "block": "88774992-2b2a-4642-87ad-15dd71b53013", + "port": "in" + } + }, + { + "source": { + "block": "2eda29b8-754e-42b7-b060-93883a432761", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "6b44d3a5-30f8-44ec-84bb-60e2edf44a5a" + }, + "size": 8 + }, + { + "source": { + "block": "2eda29b8-754e-42b7-b060-93883a432761", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "5c7cd9f9-3a7f-4aee-a74d-64347d177453" + }, + "size": 8 + }, + { + "source": { + "block": "739dcc28-9a0e-4815-9814-cf81f4c0414b", + "port": "constant-out" + }, + "target": { + "block": "2eda29b8-754e-42b7-b060-93883a432761", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "f5d71734-2a2c-4547-b254-72ad592b65fe", + "port": "6a253ddf-22b2-43cd-ba6f-561bd1af6970" + }, + "target": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "09a84e89-0e4a-43cc-a5b9-6c8ac6ce5742" + }, + "size": 2 + }, + { + "source": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "f4f0b0cc-6b11-417f-b8de-933dd739752b" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "856d9884-7fdb-4a5e-9987-3f8b1ec3fc95" + } + }, + { + "source": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "9c047d7c-a0f9-47c9-9dba-cfbee8e427cb" + }, + "target": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "bfc6f0ec-0d3a-4caa-9d40-9f4e8f59f112" + }, + "vertices": [ + { + "x": -328, + "y": 416 + } + ] + }, + { + "source": { + "block": "edfb6ee6-b3b3-4f43-8217-f68f70b3a822", + "port": "out" + }, + "target": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a" + }, + "vertices": [ + { + "x": -592, + "y": 168 + } + ] + }, + { + "source": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "43bc16ab-b91d-405c-bef0-887bd1a85fd7" + }, + "target": { + "block": "8876bb44-61f1-4174-8ee0-8f1ec3935883", + "port": "in" + } + }, + { + "source": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "2dd424a5-e616-4505-8a89-4982cdd7539d" + }, + "target": { + "block": "431ad17e-0a1b-4baa-b984-19804a07c7d3", + "port": "903db95f-b974-438e-94a7-8196c2936125" + }, + "size": 8 + }, + { + "source": { + "block": "451b3f36-c38d-4d7d-aae0-a9ac7b470f56", + "port": "out" + }, + "target": { + "block": "b275a7aa-e6ee-40a8-ba74-5e2feba388e2", + "port": "25c04d0a-ea74-40e4-af03-b65df00fafd0" + }, + "vertices": [ + { + "x": -560, + "y": 80 + } + ] + }, + { + "source": { + "block": "431ad17e-0a1b-4baa-b984-19804a07c7d3", + "port": "e544b686-6003-46a2-80f6-a1f307c28890" + }, + "target": { + "block": "1f146a2a-9829-4d98-9dcb-07e57c40762e", + "port": "186c4116-7846-4c8e-98a0-7376675105f1" + }, + "size": 8 + }, + { + "source": { + "block": "431ad17e-0a1b-4baa-b984-19804a07c7d3", + "port": "e544b686-6003-46a2-80f6-a1f307c28890" + }, + "target": { + "block": "d3c2c1b3-3aa2-487a-931b-2c69f276b0cd", + "port": "186c4116-7846-4c8e-98a0-7376675105f1" + }, + "size": 8 + }, + { + "source": { + "block": "466b625c-86c9-4084-9867-34ebe4fbdfd6", + "port": "memory-out" + }, + "target": { + "block": "d3c2c1b3-3aa2-487a-931b-2c69f276b0cd", + "port": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377" + } + }, + { + "source": { + "block": "d3c2c1b3-3aa2-487a-931b-2c69f276b0cd", + "port": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "1b8727ba-d8ff-4b20-bfe2-e990ac896f15" + }, + "size": 8 + }, + { + "source": { + "block": "35ab7c2f-242b-4ec3-abcc-260bef9d4644", + "port": "memory-out" + }, + "target": { + "block": "1f146a2a-9829-4d98-9dcb-07e57c40762e", + "port": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377" + } + }, + { + "source": { + "block": "1f146a2a-9829-4d98-9dcb-07e57c40762e", + "port": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5" + }, + "target": { + "block": "c4de04e1-476c-489c-936e-99f9bc953761", + "port": "a8001c62-f927-4def-9953-91f46e4cc0ff" + }, + "vertices": [ + { + "x": 456, + "y": 312 + } + ], + "size": 8 + } + ] + } + } + }, + "1d53b6c9876f17e5eec718e3dce1789316eecc43": { + "package": { + "name": "Neuralgic_Center_pHa", + "version": "0.1", + "description": "It contains the neuralgic modules that manage actions. OLED & I2C.", + "author": "Democrito", + "image": "%3Csvg%20viewBox=%220%200%20103.01525%20135.07816%22%20height=%22510.532%22%20width=%22389.349%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22c%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#2d2839%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#282433%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22b%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#fff%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fff%22%20stop-opacity=%22.094%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#77767b%22/%3E%3Cstop%20offset=%22.05%22%20stop-color=%22#c0bfbc%22/%3E%3Cstop%20offset=%22.1%22%20stop-color=%22#9a9996%22/%3E%3Cstop%20offset=%22.9%22%20stop-color=%22#9a9996%22/%3E%3Cstop%20offset=%22.95%22%20stop-color=%22#c0bfbc%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#77767b%22/%3E%3C/linearGradient%3E%3ClinearGradient%20gradientUnits=%22userSpaceOnUse%22%20y2=%2244%22%20x2=%22464%22%20y1=%2244%22%20x1=%2248%22%20id=%22d%22%20xlink:href=%22#a%22/%3E%3CradialGradient%20gradientUnits=%22userSpaceOnUse%22%20gradientTransform=%22matrix(-4.72727%200%200%20-1.63636%20238.545%2049.766)%22%20r=%2244%22%20fy=%22194.19%22%20fx=%2264%22%20cy=%22194.19%22%20cx=%2264%22%20id=%22e%22%20xlink:href=%22#b%22/%3E%3ClinearGradient%20gradientUnits=%22userSpaceOnUse%22%20y2=%22269.137%22%20x2=%2270.347%22%20y1=%22245.395%22%20x1=%2270.347%22%20id=%22f%22%20xlink:href=%22#c%22%20gradientTransform=%22matrix(1%200%200%203.53571%200%20-668.714)%22/%3E%3C/defs%3E%3Cg%20transform=%22matrix(.99053%200%200%201.15%20-11.886%20-211.599)%22%3E%3Crect%20ry=%2232%22%20rx=%2232%22%20y=%22-124%22%20x=%2248%22%20height=%22376%22%20width=%22416%22%20style=%22marker:none%22%20transform=%22matrix(.25%200%200%20.25%200%20225)%22%20fill=%22url(#d)%22/%3E%3Crect%20style=%22marker:none%22%20width=%22104%22%20height=%22117.46%22%20x=%2212%22%20y=%22184%22%20rx=%228%22%20ry=%229.788%22%20fill=%22#deddda%22/%3E%3Crect%20style=%22marker:none%22%20width=%2296%22%20height=%22109.46%22%20x=%2215.469%22%20y=%22-298.286%22%20rx=%224%22%20ry=%224.975%22%20transform=%22scale(1%20-1)%22%20fill=%22#241f31%22/%3E%3Cpath%20style=%22marker:none%22%20transform=%22scale(-1)%22%20d=%22M-108-272h88v78h-88z%22%20opacity=%22.05%22%20fill=%22url(#e)%22/%3E%3Cpath%20style=%22marker:none%22%20d=%22M100%20194h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm76%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm76%2014.142h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm76%2014.143h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4z%22%20fill=%22url(#f)%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2256.328%22%20y=%2240.684%22%20font-size=%2245.765%22%20transform=%22scale(.81332%201.22954)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%221.198%22%3E%3Ctspan%20x=%2261.647%22%20y=%2240.684%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3EDraw%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2250.777%22%20y=%22112.415%22%20font-size=%2249.362%22%20transform=%22scale(.8929%201.11994)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%221.291%22%3E%3Ctspan%20x=%2256.513%22%20y=%22112.415%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3ELine%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2262.822%22%20y=%2261.689%22%20font-size=%2234.151%22%20transform=%22scale(.76748%201.30296)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%22.893%22%3E%3Ctspan%20x=%2266.791%22%20y=%2261.689%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3Ea%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0edb0467-6aa9-4f53-a008-6b77d7e21a8c", + "type": "basic.output", + "data": { + "name": "busy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1384, + "y": -592 + } + }, + { + "id": "63e57f13-7060-440b-b418-2379340b1ee8", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1816, + "y": -568 + } + }, + { + "id": "5f5cf1f6-c5d1-4f4f-a1ae-6ba07ea7a1ee", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cfg_sel", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "darkgreen" + }, + "position": { + "x": 1704, + "y": -568 + } + }, + { + "id": "5a101d94-aebf-4cc0-bd3f-c13d47707472", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1384, + "y": -544 + } + }, + { + "id": "63ff40e8-1086-4009-acb8-7168068c695a", + "type": "basic.output", + "data": { + "name": "sda" + }, + "position": { + "x": 2160, + "y": -544 + } + }, + { + "id": "363468a9-95d5-4dce-8ef6-18b3b0982d4a", + "type": "basic.input", + "data": { + "name": "", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": true + }, + "position": { + "x": 952, + "y": -528 + } + }, + { + "id": "0dc3be19-8846-4e8d-a6e3-1b1b1dd914cb", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1120, + "y": -528 + } + }, + { + "id": "a56327be-06d2-4698-9e50-f057c326043f", + "type": "basic.inputLabel", + "data": { + "blockColor": "gold", + "name": "cfg", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1704, + "y": -528 + } + }, + { + "id": "317489a5-7975-4eb5-9561-d7114cb051a6", + "type": "basic.outputLabel", + "data": { + "blockColor": "gold", + "name": "line", + "range": "[7:0]", + "oldBlockColor": "gold", + "size": 8, + "virtual": true + }, + "position": { + "x": 1816, + "y": -504 + } + }, + { + "id": "1f96a95e-d0fe-40ee-9456-d10110c145a7", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "stop", + "oldBlockColor": "red" + }, + "position": { + "x": 1384, + "y": -504 + } + }, + { + "id": "c18041e6-28f8-4693-84e9-33a3e18bfca1", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "cfg_exe", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "red" + }, + "position": { + "x": 1704, + "y": -488 + } + }, + { + "id": "4f1b8007-9230-4758-8193-7f5b8c0e538d", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 952, + "y": -480 + } + }, + { + "id": "b40baa9e-552e-49a9-ac56-4e8e6780937e", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "next", + "oldBlockColor": "red" + }, + "position": { + "x": 1384, + "y": -464 + } + }, + { + "id": "75c10854-16ec-47bc-953c-52faada66c07", + "type": "basic.output", + "data": { + "name": "scl" + }, + "position": { + "x": 2160, + "y": -464 + } + }, + { + "id": "6b44d3a5-30f8-44ec-84bb-60e2edf44a5a", + "type": "basic.input", + "data": { + "name": "x0", + "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, + "clock": false + }, + "position": { + "x": 952, + "y": -448 + } + }, + { + "id": "b7181f2e-e39d-4741-865c-7ee58b1b3a81", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "initic", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1704, + "y": -448 + } + }, + { + "id": "3f31dde6-f49b-4868-b256-46587c7b6bbd", + "type": "basic.outputLabel", + "data": { + "blockColor": "gold", + "name": "cfg", + "range": "[7:0]", + "oldBlockColor": "gold", + "size": 8 + }, + "position": { + "x": 1816, + "y": -440 + } + }, + { + "id": "5c7cd9f9-3a7f-4aee-a74d-64347d177453", + "type": "basic.input", + "data": { + "name": "y0", + "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, + "clock": false + }, + "position": { + "x": 952, + "y": -416 + } + }, + { + "id": "a9699b4a-ef6b-4087-891a-7a2e08b15273", + "type": "basic.inputLabel", + "data": { + "blockColor": "gold", + "name": "line", + "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": "gold" + }, + "position": { + "x": 1272, + "y": -408 + } + }, + { + "id": "1b8727ba-d8ff-4b20-bfe2-e990ac896f15", + "type": "basic.input", + "data": { + "name": "x1", + "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, + "clock": false + }, + "position": { + "x": 952, + "y": -384 + } + }, + { + "id": "0eb7f530-ab38-4793-a066-0eb6b116a0fb", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "next", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": -384 + } + }, + { + "id": "4e35c0bc-e7c7-46cc-b0ba-78b53a4e86c6", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "line_sel", + "oldBlockColor": "darkgreen", + "virtual": true + }, + "position": { + "x": 1816, + "y": -376 + } + }, + { + "id": "69eed187-7498-4816-9af1-6a2da7f80eab", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "line_exe", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "red" + }, + "position": { + "x": 1272, + "y": -352 + } + }, + { + "id": "a8001c62-f927-4def-9953-91f46e4cc0ff", + "type": "basic.input", + "data": { + "name": "y1", + "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, + "clock": false + }, + "position": { + "x": 952, + "y": -352 + } + }, + { + "id": "856d9884-7fdb-4a5e-9987-3f8b1ec3fc95", + "type": "basic.input", + "data": { + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 952, + "y": -320 + } + }, + { + "id": "57edfff6-2bdf-416f-9ce5-05d877042a93", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cfg_sel", + "oldBlockColor": "darkgreen" + }, + "position": { + "x": 1816, + "y": -312 + } + }, + { + "id": "fd164384-3231-4868-9a78-9546f99ccdc2", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "line_exe", + "oldBlockColor": "red", + "virtual": true + }, + "position": { + "x": 1384, + "y": -304 + } + }, + { + "id": "9f0055e2-b035-4daa-8741-6e1b05c7bbb7", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "stop", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "red" + }, + "position": { + "x": 2160, + "y": -304 + } + }, + { + "id": "1c90d1c9-d674-48b8-bd41-1af9b562f8d2", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "line_done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1272, + "y": -296 + } + }, + { + "id": "4643b0cc-49c9-4284-a652-9b0256a31db2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "initic", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 952, + "y": -288 + } + }, + { + "id": "0e0f0144-3d77-4d9b-af5d-4a92ba957c87", + "type": "basic.inputLabel", + "data": { + "blockColor": "indianred", + "name": "exec_exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1704, + "y": -280 + } + }, + { + "id": "b8d1979d-b2ba-494d-8d28-ceb870b1ef12", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "stop", + "oldBlockColor": "red" + }, + "position": { + "x": 952, + "y": -256 + } + }, + { + "id": "6a53d39e-efcc-4925-ba63-64a6b61160e1", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "cfg_exe", + "oldBlockColor": "red" + }, + "position": { + "x": 1384, + "y": -256 + } + }, + { + "id": "a7f2e474-0018-431b-8240-f4f729649f0c", + "type": "basic.outputLabel", + "data": { + "blockColor": "indianred", + "name": "exec_exec", + "oldBlockColor": "indianred" + }, + "position": { + "x": 1816, + "y": -248 + } + }, + { + "id": "441af376-bf68-4a17-98a4-0766c00a4293", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "line_sel", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "darkgreen" + }, + "position": { + "x": 1272, + "y": -240 + } + }, + { + "id": "69aea8fa-edff-4fce-8851-772086043bef", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "next", + "oldBlockColor": "red" + }, + "position": { + "x": 952, + "y": -224 + } + }, + { + "id": "9c047d7c-a0f9-47c9-9dba-cfbee8e427cb", + "type": "basic.output", + "data": { + "name": "done", + "virtual": true + }, + "position": { + "x": 2160, + "y": -176 + } + }, + { + "id": "bd584233-f03c-4d17-b1e6-1104dfd1cc09", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "line_done", + "oldBlockColor": "indianred", + "virtual": true + }, + "position": { + "x": 2000, + "y": -176 + } + }, + { + "id": "c1bf9e7e-58d7-4184-9982-3b2e2ab669e1", + "type": "basic.constant", + "data": { + "name": "Hz_I2C", + "value": "400_000", + "local": false + }, + "position": { + "x": 2000, + "y": -664 + } + }, + { + "id": "3358e4d9-a719-48d9-9c79-f8017467d7ff", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1544, + "y": -280 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "type": "f653f25255464a2ca212bc286c3d1f53e230d98a", + "position": { + "x": 2000, + "y": -552 + }, + "size": { + "width": 96, + "height": 320 + } + }, + { + "id": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "type": "1fae63e5a5ff6a95f711cb8f1308e6687267f9be", + "position": { + "x": 1120, + "y": -464 + }, + "size": { + "width": 96, + "height": 288 + } + }, + { + "id": "908aea50-71db-4720-a1e9-a7fe220a9130", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 1816, + "y": -176 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "type": "2af2866c481431e1fb023698d626ea8852559c82", + "position": { + "x": 1544, + "y": -536 + }, + "size": { + "width": 96, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "73d14673-393d-472c-9a30-b07afa98665f" + }, + "target": { + "block": "0eb7f530-ab38-4793-a066-0eb6b116a0fb", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "1727ebe7-7af7-40c2-95fe-8a17912306d1" + }, + "target": { + "block": "9f0055e2-b035-4daa-8741-6e1b05c7bbb7", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "57edfff6-2bdf-416f-9ce5-05d877042a93", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "7d549f02-e8f6-405e-bcbc-96649047ed2b" + }, + "vertices": [] + }, + { + "source": { + "block": "4e35c0bc-e7c7-46cc-b0ba-78b53a4e86c6", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "35e487e8-4ca4-4893-ab10-323ec0510e72" + }, + "vertices": [] + }, + { + "source": { + "block": "3f31dde6-f49b-4868-b256-46587c7b6bbd", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "09b5984b-3c35-4995-9c72-9c2ae8766d93", + "size": 8 + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "317489a5-7975-4eb5-9561-d7114cb051a6", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "682592c8-cc48-427a-b653-adee001c94ca", + "size": 8 + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "63e57f13-7060-440b-b418-2379340b1ee8", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "1f7e8b2d-4041-4bc8-a7fb-c74681fac2e5" + }, + "vertices": [] + }, + { + "source": { + "block": "a7f2e474-0018-431b-8240-f4f729649f0c", + "port": "outlabel" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "fe1f6a36-8ebe-4e66-80cf-c4ca58d14196" + }, + "vertices": [] + }, + { + "source": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "d204b53d-14f0-408b-892f-7ed13084d9c3" + }, + "target": { + "block": "c18041e6-28f8-4693-84e9-33a3e18bfca1", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "ba495e79-f312-4148-9c94-031573f6b701" + }, + "target": { + "block": "5f5cf1f6-c5d1-4f4f-a1ae-6ba07ea7a1ee", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "ad04dc25-b08a-422c-8ff8-68b2ab5ae636", + "size": 8 + }, + "target": { + "block": "a56327be-06d2-4698-9e50-f057c326043f", + "port": "inlabel" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "b40baa9e-552e-49a9-ac56-4e8e6780937e", + "port": "outlabel" + }, + "target": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "4413d55c-9e9c-4bb6-9f12-37a0f3093ca1" + }, + "vertices": [] + }, + { + "source": { + "block": "1f96a95e-d0fe-40ee-9456-d10110c145a7", + "port": "outlabel" + }, + "target": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "c55c2961-8f77-4f83-9b16-0b486d1500db" + }, + "vertices": [] + }, + { + "source": { + "block": "5a101d94-aebf-4cc0-bd3f-c13d47707472", + "port": "outlabel" + }, + "target": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "0aa4ce98-88cf-49f9-8642-0c9541f87784" + }, + "vertices": [] + }, + { + "source": { + "block": "3358e4d9-a719-48d9-9c79-f8017467d7ff", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "0e0f0144-3d77-4d9b-af5d-4a92ba957c87", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "33d919a8-04d5-48bc-9631-7813b2404f21" + }, + "target": { + "block": "69eed187-7498-4816-9af1-6a2da7f80eab", + "port": "inlabel" + } + }, + { + "source": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "27780318-cff6-43ea-ab62-6cc372ebc4dd", + "size": 8 + }, + "target": { + "block": "a9699b4a-ef6b-4087-891a-7a2e08b15273", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "4f1b8007-9230-4758-8193-7f5b8c0e538d", + "port": "outlabel" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "04413c51-81f4-43ab-a30a-f9bf721e3812" + } + }, + { + "source": { + "block": "b8d1979d-b2ba-494d-8d28-ceb870b1ef12", + "port": "outlabel" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "a2a9b04d-888d-4fd3-b1ae-13516d8c9d59" + } + }, + { + "source": { + "block": "69aea8fa-edff-4fce-8851-772086043bef", + "port": "outlabel" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "cb5c5c89-ac2e-4d48-ae77-a09139673bd7" + }, + "vertices": [] + }, + { + "source": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "17753090-559f-4029-b7da-ee2d3fec23eb" + }, + "target": { + "block": "1c90d1c9-d674-48b8-bd41-1af9b562f8d2", + "port": "inlabel" + } + }, + { + "source": { + "block": "fd164384-3231-4868-9a78-9546f99ccdc2", + "port": "outlabel" + }, + "target": { + "block": "3358e4d9-a719-48d9-9c79-f8017467d7ff", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "6a53d39e-efcc-4925-ba63-64a6b61160e1", + "port": "outlabel" + }, + "target": { + "block": "3358e4d9-a719-48d9-9c79-f8017467d7ff", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "363468a9-95d5-4dce-8ef6-18b3b0982d4a", + "port": "out" + }, + "target": { + "block": "0dc3be19-8846-4e8d-a6e3-1b1b1dd914cb", + "port": "inlabel" + } + }, + { + "source": { + "block": "a14bea7c-9b7e-4f84-bc05-5368f5580ddd", + "port": "043e7f35-ec8a-4187-bdef-638222f18341" + }, + "target": { + "block": "b7181f2e-e39d-4741-865c-7ee58b1b3a81", + "port": "inlabel" + } + }, + { + "source": { + "block": "4643b0cc-49c9-4284-a652-9b0256a31db2", + "port": "outlabel" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "68767508-d5f7-4899-babf-9c70942b7922" + } + }, + { + "source": { + "block": "bd584233-f03c-4d17-b1e6-1104dfd1cc09", + "port": "outlabel" + }, + "target": { + "block": "9c047d7c-a0f9-47c9-9dba-cfbee8e427cb", + "port": "in" + } + }, + { + "source": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "34ba5b2c-114c-45cf-9dbf-7019105a130a" + }, + "target": { + "block": "441af376-bf68-4a17-98a4-0766c00a4293", + "port": "inlabel" + } + }, + { + "source": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "0c09699d-12ef-408b-aa81-ad23cdd4086c" + }, + "target": { + "block": "63ff40e8-1086-4009-acb8-7168068c695a", + "port": "in" + } + }, + { + "source": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "ea39d4c6-1ec3-43a3-8ce9-84bd62294b30" + }, + "target": { + "block": "75c10854-16ec-47bc-953c-52faada66c07", + "port": "in" + } + }, + { + "source": { + "block": "6b44d3a5-30f8-44ec-84bb-60e2edf44a5a", + "port": "out" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "7340a8c0-ce50-4bba-b848-6b55aacedbfc" + }, + "size": 8 + }, + { + "source": { + "block": "5c7cd9f9-3a7f-4aee-a74d-64347d177453", + "port": "out" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "9fbebb88-8a29-4411-99a1-2e261ede38f7" + }, + "size": 8 + }, + { + "source": { + "block": "1b8727ba-d8ff-4b20-bfe2-e990ac896f15", + "port": "out" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "25513a5c-6c5e-4b4a-a97e-d8066149819f" + }, + "size": 8 + }, + { + "source": { + "block": "a8001c62-f927-4def-9953-91f46e4cc0ff", + "port": "out" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "0d8ceeb5-907f-4523-a399-1736a903810f" + }, + "size": 8 + }, + { + "source": { + "block": "856d9884-7fdb-4a5e-9987-3f8b1ec3fc95", + "port": "out" + }, + "target": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "263cbd08-4681-4ac4-8cf5-998deeb69a03" + } + }, + { + "source": { + "block": "908aea50-71db-4720-a1e9-a7fe220a9130", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "8fddc0ae-8b50-492d-88de-aed452932757" + } + }, + { + "source": { + "block": "908aea50-71db-4720-a1e9-a7fe220a9130", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "2bb2c923-d7a8-4f2a-921f-cf424404d678" + } + }, + { + "source": { + "block": "176cf012-03cd-4010-9d5c-fdcb658a1cd3", + "port": "893631dd-ff6f-493a-a0da-4ab8f64b52de" + }, + "target": { + "block": "0edb0467-6aa9-4f53-a008-6b77d7e21a8c", + "port": "in" + }, + "vertices": [ + { + "x": 1264, + "y": -480 + } + ] + }, + { + "source": { + "block": "c1bf9e7e-58d7-4184-9982-3b2e2ab669e1", + "port": "constant-out" + }, + "target": { + "block": "7e843f1f-cdfd-4e3a-aa2f-f6850efecba8", + "port": "97814905-9c12-4339-b63a-d7f5e147504d" + } + } + ] + } + } + }, + "81613874c6152f06c06ed7014bf4235900cfcc30": { + "package": { + "name": "OR", + "version": "1.0.1", + "description": "Puerta OR", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22383.697%22%20version=%221%22%3E%3Cpath%20d=%22M175.56%20188.718H84.527s30.345-42.538%2031.086-94.03c.743-51.49-31.821-90.294-31.821-90.294L176.109%204c46.445%201.948%20103.899%2053.44%20123.047%2093.678-32.601%2067.503-92.158%2089.79-123.596%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2047.292h99.605M4.883%20145.168h100.981M298.57%2098.89h81.07%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%22131.572%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20font-weight=%22700%22%20y=%22121.28%22%20x=%22131.572%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" + }, + "position": { + "x": 64, + "y": 88 + } + }, + { + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 784, + "y": 152 + } + }, + { + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", + "data": { + "name": "" + }, + "position": { + "x": 64, + "y": 224 + } + }, + { + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", + "data": { + "code": "//-- Puerta OR\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a | b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, + "position": { + "x": 256, + "y": 48 + }, + "size": { + "width": 464, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" + } + }, + { + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" + } + }, + { + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "f653f25255464a2ca212bc286c3d1f53e230d98a": { + "package": { + "name": "I2C_master_prog_director_874KNB", + "version": "0.1", + "description": "Variable Width I2C", + "author": "Democrito", + "image": "%3Csvg%20xmlns:osb=%22http://www.openswatchbook.org/uri/2009/osb%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20height=%221971.517%22%20width=%22719.758%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22b%22%20osb:paint=%22solid%22%3E%3Cstop%20offset=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22c%22%20osb:paint=%22solid%22%3E%3Cstop%20offset=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22a%22%20osb:paint=%22solid%22%3E%3Cstop%20offset=%220%22/%3E%3C/linearGradient%3E%3ClinearGradient%20xlink:href=%22#a%22%20id=%22d%22%20x1=%22158.423%22%20y1=%22803.662%22%20x2=%22665.659%22%20y2=%22803.662%22%20gradientUnits=%22userSpaceOnUse%22%20gradientTransform=%22matrix(1%200%200%20.86957%20.108%20-363.07)%22/%3E%3ClinearGradient%20xlink:href=%22#b%22%20id=%22e%22%20x1=%22-2.272%22%20y1=%22392.145%22%20x2=%22715.476%22%20y2=%22392.145%22%20gradientUnits=%22userSpaceOnUse%22%20gradientTransform=%22translate(3.277%2056.215)%22/%3E%3ClinearGradient%20xlink:href=%22#c%22%20id=%22f%22%20gradientUnits=%22userSpaceOnUse%22%20x1=%2227.555%22%20y1=%221496.966%22%20x2=%22766.648%22%20y2=%221496.966%22%20gradientTransform=%22translate(3.651%2050.454)%22/%3E%3C/defs%3E%3Cpath%20d=%22M229.337%20181.854c-25.134%2010.312-43.144%2036.485-43.144%2067.332%200%2011.882%202.913%2022.937%207.619%2032.836-19.937%208.324-34.202%2029.194-34.202%2053.747%200%2024.566%2014.265%2045.43%2034.202%2053.76-4.706%209.897-7.62%2020.955-7.62%2032.827%200%2030.854%2018.01%2057.032%2043.145%2067.332-1.99%206.046-3.268%2012.471-3.268%2019.25%200%2031.837%2023.842%2057.722%2053.165%2057.722%206.619%200%2012.897-1.486%2018.742-3.883%208.613%2019.302%2026.676%2032.748%2047.715%2032.748%2029.324%200%2053.167-25.893%2053.167-57.726V133.74c0-31.825-23.845-57.72-53.167-57.72-21.041%200-39.1%2013.45-47.715%2032.744-5.847-2.395-12.123-3.883-18.742-3.883-29.325%200-53.167%2025.893-53.167%2057.722%200%206.785%201.28%2013.204%203.27%2019.25zm49.897-48.112c14.66%200%2026.58%2012.942%2026.58%2028.861h26.587c0-13.865-4.72-26.448-12.255-36.408%203.082-12.23%2013.305-21.314%2025.545-21.314%2014.662%200%2026.585%2012.943%2026.585%2028.861v404.062c0%2015.915-11.923%2028.857-26.585%2028.857-12.24%200-22.463-9.074-25.545-21.312%207.535-9.958%2012.255-22.534%2012.255-36.41h-26.587c0%2015.92-11.921%2028.861-26.581%2028.861s-26.584-12.942-26.584-28.86c0-15.92%2011.923-28.862%2026.584-28.862v-28.86c-12.948%200-24.67%205.256-33.892%2013.626-18.503-3.74-32.565-21.329-32.565-42.487%200-23.867%2017.89-43.292%2039.873-43.292%2021.987%200%2039.875%2019.425%2039.875%2043.292h26.584c0-39.784-29.808-72.153-66.46-72.153-15.02%200-28.735%205.641-39.872%2014.811v-.38c-14.664%200-26.586-12.947-26.586-28.86%200-15.92%2011.922-28.862%2026.586-28.862v-.377c11.137%209.17%2024.854%2014.805%2039.873%2014.805%2036.65%200%2066.459-32.36%2066.459-72.152h-26.584c0%2023.87-17.888%2043.291-39.875%2043.291-21.98%200-39.873-19.42-39.873-43.29%200-21.156%2014.064-38.742%2032.565-42.484%209.222%208.372%2020.944%2013.62%2033.892%2013.62v-28.862c-14.66%200-26.584-12.942-26.584-28.86%200-15.92%2011.923-28.86%2026.584-28.86zm265.83-28.86c-6.62%200-12.888%201.485-18.735%203.882-8.62-19.294-26.68-32.744-47.72-32.744-29.325%200-53.17%2025.893-53.17%2057.722v404.062c0%2031.833%2023.845%2057.722%2053.17%2057.722%2021.04%200%2039.1-13.448%2047.718-32.748%205.85%202.397%2012.117%203.883%2018.738%203.883%2029.323%200%2053.167-25.885%2053.167-57.722%200-6.775-1.271-13.204-3.272-19.246%2025.134-10.304%2043.144-36.482%2043.144-67.336%200-11.872-2.907-22.93-7.61-32.832%2019.938-8.325%2034.195-29.189%2034.195-53.75%200-24.558-14.257-45.428-34.196-53.75%204.704-9.9%207.613-20.956%207.613-32.838%200-30.847-18.01-57.02-43.146-67.332%202-6.047%203.268-12.466%203.268-19.25%200-31.828-23.84-57.723-53.163-57.723zm66.458%20144.304c0%2023.873-17.887%2043.293-39.875%2043.293-21.98%200-39.875-19.42-39.875-43.29h-26.58c0%2039.79%2029.818%2072.151%2066.459%2072.151%2015.017%200%2028.738-5.637%2039.875-14.805v.377c14.658%200%2026.582%2012.942%2026.582%2028.86%200%2015.915-11.922%2028.862-26.584%2028.862v.38c-11.137-9.165-24.856-14.813-39.875-14.813-36.64%200-66.457%2032.374-66.457%2072.155h26.585c0-23.867%2017.89-43.292%2039.874-43.292%2021.986%200%2039.875%2019.425%2039.875%2043.292%200%2021.158-14.064%2038.747-32.56%2042.487-9.23-8.37-20.953-13.627-33.9-13.627v28.861c14.663%200%2026.585%2012.943%2026.585%2028.861%200%2015.92-11.922%2028.861-26.584%2028.861-14.66%200-26.583-12.942-26.583-28.86h-26.582c0%2013.875%204.716%2026.451%2012.25%2036.41-3.08%2012.24-13.304%2021.311-25.542%2021.311-14.66%200-26.583-12.942-26.583-28.86V133.74c0-15.916%2011.923-28.859%2026.583-28.859%2012.238%200%2022.46%209.084%2025.543%2021.314-7.535%209.956-12.25%2022.543-12.25%2036.408h26.58c0-15.919%2011.924-28.86%2026.584-28.86%2014.662%200%2026.584%2012.941%2026.584%2028.86%200%2015.92-11.922%2028.861-26.584%2028.861v28.86c12.948%200%2024.668-5.245%2033.898-13.615%2018.497%203.738%2032.56%2021.324%2032.56%2042.477zm0%200%22%20fill=%22red%22%20stroke=%22url(#d)%22%20stroke-width=%222.01%22/%3E%3Cpath%20d=%22M622.35%2091.011C560.24%2027.63%20478.893-4.144%20393.524%201.686l1.65%2028.8c78-5.265%20152.25%2023.696%20208.979%2081.553%2056.753%2057.906%2088.015%20136.363%2088.015%20220.884%200%20101.853-46.758%20196.302-125.088%20252.656-27.016%2019.445-47.463%2047.189-60.057%2079.247H318.519c-12.773-32.291-33.294-60.23-60.357-79.853-80.724-58.577-127.108-156.401-124.09-261.72l-26.57-.894c-3.308%20115.333%2047.501%20222.475%20135.893%20286.597%2019.524%2014.175%2035.114%2033.465%2045.977%2055.87h-35.827v28.861h46.431c2.577%209.352%204.641%2018.934%205.686%2028.86h-25.533v28.866h26.583v43.29c0%207.986%205.96%2014.43%2013.294%2014.43h13.29c0%2047.753%2035.768%2086.583%2079.75%2086.583%2043.983%200%2079.751-38.83%2079.751-86.583h13.29c7.342%200%2013.292-6.448%2013.292-14.43V751.41h26.583v-28.863h-25.647c.94-9.911%202.815-19.523%205.34-28.861h46.889v-28.861h-36.4c10.707-22.162%2026.204-41.212%2045.631-55.18%2085.764-61.75%20136.978-165.19%20136.978-276.727%200-91.227-35.144-179.409-96.405-241.908zM413.044%20866.857c-29.32%200-53.165-25.89-53.165-57.722h106.332c0%2031.833-23.844%2057.722-53.165%2057.722zm79.751-86.583h-159.5v-28.861h159.498zm.948-57.726H332.23c-.888-9.821-2.322-19.476-4.502-28.861h170.149c-2.117%209.37-3.343%2019.066-4.135%2028.86zM94.046%20102.032c29.32%200%2053.165%2025.893%2053.165%2057.721%200%207.983%205.96%2014.433%2013.294%2014.433%207.34%200%2013.29-6.448%2013.29-14.43%200-31.83%2023.846-57.722%2053.166-57.722%207.34%200%2013.292-6.45%2013.292-14.435%200-7.977-5.952-14.428-13.292-14.428-29.32%200-53.165-25.89-53.165-57.724%200-7.975-5.951-14.43-13.291-14.43-7.335%200-13.294%206.455-13.294%2014.43%200%2031.835-23.845%2057.724-53.165%2057.724-7.332%200-13.29%206.451-13.29%2014.43%200%207.985%205.958%2014.43%2013.29%2014.43zm66.459-38.779c5.908%209.641%2013.542%2017.937%2022.422%2024.344-8.88%206.415-16.518%2014.707-22.422%2024.348-5.899-9.641-13.547-17.935-22.425-24.348%208.88-6.403%2016.526-14.705%2022.427-24.344zM147.21%20246.336c7.342%200%2013.294-6.447%2013.294-14.428%200-7.977-5.952-14.43-13.294-14.43-29.32%200-53.165-25.887-53.165-57.723%200-7.978-5.95-14.432-13.29-14.432-7.336%200-13.294%206.454-13.294%2014.43%200%2031.838-23.843%2057.722-53.165%2057.722-7.334%200-13.292%206.456-13.292%2014.433%200%207.983%205.958%2014.43%2013.292%2014.43%2029.324%200%2053.165%2025.893%2053.165%2057.724%200%207.981%205.958%2014.43%2013.292%2014.43%207.342%200%2013.292-6.449%2013.292-14.43%200-31.829%2023.844-57.726%2053.165-57.726zm-66.457%209.915a82.413%2085.424%200%200%200-22.423-24.343c8.88-6.408%2016.514-14.708%2022.426-24.348%205.904%209.641%2013.542%2017.93%2022.423%2024.348-8.88%206.413-16.519%2014.705-22.425%2024.343zm0%200%22%20fill=%22purple%22%20stroke=%22url(#e)%22%20stroke-width=%222.01%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Bahnschrift%20Bold';text-align:center%22%20x=%22393.948%22%20y=%221749.343%22%20font-weight=%22700%22%20font-size=%22568.832%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.89751%201.1142)%22%20font-family=%22Bahnschrift%22%20text-anchor=%22middle%22%20fill=%22purple%22%20stroke=%22url(#f)%22%20stroke-width=%2235.547%22%3E%3Ctspan%20x=%22393.948%22%20y=%221749.343%22%20style=%22-inkscape-font-specification:'Bahnschrift%20Bold'%22%3EI2C%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1577376510350 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1f7e8b2d-4041-4bc8-a7fb-c74681fac2e5", + "type": "basic.input", + "data": { + "name": "", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": true + }, + "position": { + "x": 48, + "y": -88 + } + }, + { + "id": "0c09699d-12ef-408b-aa81-ad23cdd4086c", + "type": "basic.output", + "data": { + "name": "sda", + "pins": [ + { + "index": "0", + "name": "D0", + "value": "2" + } + ], + "virtual": false + }, + "position": { + "x": 936, + "y": 104 + } + }, + { + "id": "ea39d4c6-1ec3-43a3-8ce9-84bd62294b30", + "type": "basic.output", + "data": { + "name": "scl", + "pins": [ + { + "index": "0", + "name": "D1", + "value": "1" + } + ], + "virtual": false + }, + "position": { + "x": 936, + "y": 136 + } + }, + { + "id": "73d14673-393d-472c-9a30-b07afa98665f", + "type": "basic.output", + "data": { + "name": "next", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 936, + "y": 168 + } + }, + { + "id": "5fc421ea-548b-4e78-9111-d7530c14704f", + "type": "basic.input", + "data": { + "name": "gxy", + "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, + "clock": false + }, + "position": { + "x": 48, + "y": 176 + } + }, + { + "id": "1727ebe7-7af7-40c2-95fe-8a17912306d1", + "type": "basic.output", + "data": { + "name": "done", + "pins": [ + { + "index": "0", + "name": "D4", + "value": "8" + } + ], + "virtual": true + }, + "position": { + "x": 936, + "y": 200 + } + }, + { + "id": "682592c8-cc48-427a-b653-adee001c94ca", + "type": "basic.input", + "data": { + "name": "bmp", + "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, + "clock": false + }, + "position": { + "x": 48, + "y": 208 + } + }, + { + "id": "9b56d754-4cc5-4286-83ad-f936e855b54d", + "type": "basic.input", + "data": { + "name": "chr", + "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, + "clock": false + }, + "position": { + "x": 48, + "y": 240 + } + }, + { + "id": "09b5984b-3c35-4995-9c72-9c2ae8766d93", + "type": "basic.input", + "data": { + "name": "cfg", + "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, + "clock": false + }, + "position": { + "x": 48, + "y": 272 + } + }, + { + "id": "2bb2c923-d7a8-4f2a-921f-cf424404d678", + "type": "basic.input", + "data": { + "name": "gxy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 48, + "y": 360 + } + }, + { + "id": "35e487e8-4ca4-4893-ab10-323ec0510e72", + "type": "basic.input", + "data": { + "name": "bmp", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 48, + "y": 392 + } + }, + { + "id": "8fddc0ae-8b50-492d-88de-aed452932757", + "type": "basic.input", + "data": { + "name": "chr", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 48, + "y": 424 + } + }, + { + "id": "7d549f02-e8f6-405e-bcbc-96649047ed2b", + "type": "basic.input", + "data": { + "name": "cfg", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 48, + "y": 456 + } + }, + { + "id": "fe1f6a36-8ebe-4e66-80cf-c4ca58d14196", + "type": "basic.input", + "data": { + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 48, + "y": 504 + } + }, + { + "id": "97814905-9c12-4339-b63a-d7f5e147504d", + "type": "basic.constant", + "data": { + "name": "Hz", + "value": "374_000", + "local": false + }, + "position": { + "x": 736, + "y": -80 + } + }, + { + "id": "360ded55-cb92-4c62-978d-6c700487a75b", + "type": "4c07402a1fd56fb1db709669b51490ea4adf21e4", + "position": { + "x": 48, + "y": 104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "76cc29bc-9080-4672-8cce-54e0fcd1c48d", + "type": "08a1945bf1475fbcda858b7db3a2d4dc988015be", + "position": { + "x": 48, + "y": -24 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ab69dc3e-91cf-400a-ae75-307e1aa5aff9", + "type": "basic.info", + "data": { + "info": "* Velocidad de trabajo: 400_000Hz. (En pantallas modernas.) \n* En pantallas antiguas la velocidad máxima es de 374_000HZ.\n* En pantallas modernas se puede hacer \"overclocking\" hasta 1_200_000Hz. aprox.\n* La velocidad mínima que he probado es de 100Hz y sigue trabajando bien. Se supone que no hay límite de frecuencia baja.\n\nTengo dos pantallas y una de ellas no soporta velocidades superiores a 374_000Hz, es de píxeles azules y además tiene el VCC y GND al revés de la blanca.\nLa pantalla blanca permite velocidades muy superiores.", + "readonly": true + }, + "position": { + "x": 840, + "y": -88 + }, + "size": { + "width": 672, + "height": 32 + } + }, + { + "id": "8f1088a4-d13e-489d-ad1f-51dad7b056cd", + "type": "basic.info", + "data": { + "info": "# I2C maestro de sólo escritura y longitud de paquetes de datos ajustables.", + "readonly": true + }, + "position": { + "x": 48, + "y": -136 + }, + "size": { + "width": 968, + "height": 32 + } + }, + { + "id": "9a5ae51d-65a0-4f0f-a8f3-94efac658e5d", + "type": "basic.info", + "data": { + "info": "El Cerebro de la Bestia!", + "readonly": true + }, + "position": { + "x": 712, + "y": 296 + }, + "size": { + "width": 184, + "height": 32 + } + }, + { + "id": "66b1c76a-b0a2-4b76-b796-d9c6421a8a6c", + "type": "basic.info", + "data": { + "info": "Entrada de datos para las acciones.", + "readonly": true + }, + "position": { + "x": -120, + "y": 232 + }, + "size": { + "width": 152, + "height": 32 + } + }, + { + "id": "ccb0757f-5c98-4f56-aaef-c2a8cfa189f5", + "type": "basic.info", + "data": { + "info": "Selección de acciones.", + "readonly": true + }, + "position": { + "x": -112, + "y": 400 + }, + "size": { + "width": 160, + "height": 32 + } + }, + { + "id": "bc7c015e-765a-4602-bf24-8e042b9631e6", + "type": "basic.info", + "data": { + "info": "* *cfg:* Datos de configuración.\n* *chr:* Creación ASCII en la pantalla OLED.\n* *bmp:* Mapa de bits que puede ser utilizado como fondo de pantalla o manipular la memoria que tiene (de 1024 bytes) para hacer gráficos.\n* *gxy:* Situa los ejes (x,y) para escribir en la OLED.", + "readonly": true + }, + "position": { + "x": 704, + "y": 328 + }, + "size": { + "width": 464, + "height": 32 + } + }, + { + "id": "52e76f03-081a-44c6-aeb7-449dc2637a20", + "type": "basic.info", + "data": { + "info": "Multiplexación de longitud de los paquetes de datos.", + "readonly": true + }, + "position": { + "x": 440, + "y": -56 + }, + "size": { + "width": 176, + "height": 32 + } + }, + { + "id": "a4c7b628-a838-4722-9f4f-0aa8ba40f73c", + "type": "basic.info", + "data": { + "info": "* Por \"longitud de paquetes de datos ajustables\" significa que a través\nde la entrada nbytes, le decimos cuántos bytes van a ser enviados,\nde esta forma sabemos dónde comienza y termina la\ninformación a enviar para empaquetarlo con los bits\nstart y stop.", + "readonly": true + }, + "position": { + "x": 1048, + "y": 120 + }, + "size": { + "width": 296, + "height": 32 + } + }, + { + "id": "0e785609-ff65-40aa-979c-357fab04e4b6", + "type": "basic.info", + "data": { + "info": "Longitud de paquete de datos.", + "readonly": true + }, + "position": { + "x": -120, + "y": 24 + }, + "size": { + "width": 168, + "height": 32 + } + }, + { + "id": "21c2f621-ea16-46ce-a904-15a5ef26cb40", + "type": "basic.info", + "data": { + "info": "Multiplexación de los datos.", + "readonly": true + }, + "position": { + "x": 440, + "y": 368 + }, + "size": { + "width": 184, + "height": 32 + } + }, + { + "id": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "type": "eecece47b8724b759ba289c7374654e039c95263", + "position": { + "x": 264, + "y": 376 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "type": "70125e8776aada0e883af2921c6fae4ceb3e5cbc", + "position": { + "x": 472, + "y": 192 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "type": "f343215b21a61bc8e703027ff28785e85077129c", + "position": { + "x": 472, + "y": 24 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "066f369e-bea1-45bb-ad20-fc5417b86d31", + "type": "dd9d50a19a2f64b232e6209551d53cb99afb35a8", + "position": { + "x": 48, + "y": 40 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "type": "c142d105cc5f0bc57c042a2bebb41f1480054ee1", + "position": { + "x": 736, + "y": 120 + }, + "size": { + "width": 96, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "57091b29-db70-47de-af93-d7249597a538" + }, + "target": { + "block": "ea39d4c6-1ec3-43a3-8ce9-84bd62294b30", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "365e0b31-58b0-429e-bbe8-d1edbbe76dcf" + }, + "target": { + "block": "0c09699d-12ef-408b-aa81-ad23cdd4086c", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "97814905-9c12-4339-b63a-d7f5e147504d", + "port": "constant-out" + }, + "target": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "797b7151-958f-4dec-ac07-ca40f7b6bb12" + }, + "vertices": [] + }, + { + "source": { + "block": "1f7e8b2d-4041-4bc8-a7fb-c74681fac2e5", + "port": "out" + }, + "target": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "da0baa64-033d-4335-9ac6-b143ed98bddb" + }, + "vertices": [ + { + "x": 640, + "y": 40 + } + ] + }, + { + "source": { + "block": "fe1f6a36-8ebe-4e66-80cf-c4ca58d14196", + "port": "out" + }, + "target": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "97b2cd8e-44f2-435c-b9c2-56f001a33520" + }, + "vertices": [ + { + "x": 640, + "y": 352 + } + ] + }, + { + "source": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "2e97816c-0ee8-4cc3-8ee3-cbe225b5838a" + }, + "target": { + "block": "73d14673-393d-472c-9a30-b07afa98665f", + "port": "in" + } + }, + { + "source": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "3c4c6870-0285-4560-9e0b-7c07ca614693" + }, + "target": { + "block": "1727ebe7-7af7-40c2-95fe-8a17912306d1", + "port": "in" + } + }, + { + "source": { + "block": "2bb2c923-d7a8-4f2a-921f-cf424404d678", + "port": "out" + }, + "target": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "b3485778-770a-4376-a6cf-0255a60c9099" + }, + "vertices": [] + }, + { + "source": { + "block": "35e487e8-4ca4-4893-ab10-323ec0510e72", + "port": "out" + }, + "target": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "4ce44022-063f-48e0-84ba-6d3b897d8bb1" + }, + "vertices": [] + }, + { + "source": { + "block": "8fddc0ae-8b50-492d-88de-aed452932757", + "port": "out" + }, + "target": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "cdd4fb27-84bd-4556-9bce-7c8d782b125c" + }, + "vertices": [] + }, + { + "source": { + "block": "7d549f02-e8f6-405e-bcbc-96649047ed2b", + "port": "out" + }, + "target": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "ec204846-3e57-4ee8-a267-08023b485411" + }, + "vertices": [] + }, + { + "source": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "820e19c9-d979-418f-b2e5-d806fa3caca3" + }, + "target": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "d1870c85-874e-466c-a0b1-69c51a7e3129" + }, + "vertices": [ + { + "x": 616, + "y": 224 + } + ], + "size": 8 + }, + { + "source": { + "block": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "port": "457ef919-6d9d-4283-acce-342e46d864a2" + }, + "target": { + "block": "108bdf70-0b67-4985-8eab-0a8e5cd0de9a", + "port": "2ca1333f-1349-419e-945b-c151adb02d8e" + }, + "vertices": [ + { + "x": 616, + "y": 144 + } + ], + "size": 16 + }, + { + "source": { + "block": "360ded55-cb92-4c62-978d-6c700487a75b", + "port": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc" + }, + "target": { + "block": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "port": "ca222687-2581-4eb5-b4a3-ef2d8d5b3c3f" + }, + "vertices": [], + "size": 16 + }, + { + "source": { + "block": "76cc29bc-9080-4672-8cce-54e0fcd1c48d", + "port": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc" + }, + "target": { + "block": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "port": "f34ae012-d52a-4f55-b33a-ff7a902ebb39" + }, + "vertices": [ + { + "x": 208, + "y": 40 + } + ], + "size": 16 + }, + { + "source": { + "block": "5fc421ea-548b-4e78-9111-d7530c14704f", + "port": "out" + }, + "target": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "fbc03b1e-bcb0-42b2-9b09-33968aa35d0f" + }, + "size": 8 + }, + { + "source": { + "block": "682592c8-cc48-427a-b653-adee001c94ca", + "port": "out" + }, + "target": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "350946d5-2f29-4190-bcf2-e14e17224bb4" + }, + "size": 8 + }, + { + "source": { + "block": "9b56d754-4cc5-4286-83ad-f936e855b54d", + "port": "out" + }, + "target": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633" + }, + "size": 8 + }, + { + "source": { + "block": "09b5984b-3c35-4995-9c72-9c2ae8766d93", + "port": "out" + }, + "target": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "1f4c1c55-ee75-41d6-8590-b4e650d636cc" + }, + "size": 8 + }, + { + "source": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "e903ef36-4c4c-454c-96a8-1ec29f586779" + }, + "target": { + "block": "adf58536-1d73-4eed-b451-0a3819fbac3f", + "port": "bdcce1e9-caca-4175-ae37-8e9e7850526b" + }, + "vertices": [ + { + "x": 416, + "y": 352 + } + ], + "size": 2 + }, + { + "source": { + "block": "7a12f6d5-fd39-4cb4-9695-9f9b153adfa3", + "port": "e903ef36-4c4c-454c-96a8-1ec29f586779" + }, + "target": { + "block": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "port": "c6e636cc-5cd2-45e9-9e98-8d39ce314749" + }, + "size": 2 + }, + { + "source": { + "block": "066f369e-bea1-45bb-ad20-fc5417b86d31", + "port": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc" + }, + "target": { + "block": "c59811a1-ebf9-4564-9d9d-f25984e01892", + "port": "cff8dd44-0c67-4fce-8c25-ab7b5be98664" + }, + "vertices": [ + { + "x": 176, + "y": 104 + } + ], + "size": 16 + } + ] + } + } + }, + "4c07402a1fd56fb1db709669b51490ea4adf21e4": { + "package": { + "name": "30B", + "version": "0.1", + "description": "Constante con el valor 30", + "author": "FPGAwars", + "image": "", + "otid": 1577365787679 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "type": "basic.output", + "data": { + "name": "", + "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 + }, + "position": { + "x": 808, + "y": 264 + } + }, + { + "id": "5164f869-081c-4076-8479-f15fcc430370", + "type": "basic.constant", + "data": { + "name": "maxCFG", + "value": "30", + "local": true + }, + "position": { + "x": 632, + "y": 128 + } + }, + { + "id": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "type": "34688e4806a6119bdbe88b4751825a9428852b1b", + "position": { + "x": 632, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "92dade38-46ec-4714-b28b-f4bb1aeca992" + }, + "target": { + "block": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "5164f869-081c-4076-8479-f15fcc430370", + "port": "constant-out" + }, + "target": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "34688e4806a6119bdbe88b4751825a9428852b1b": { + "package": { + "name": "Constante-16bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 16 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": "92dade38-46ec-4714-b28b-f4bb1aeca992", + "type": "basic.output", + "data": { + "name": "k", + "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": "92dade38-46ec-4714-b28b-f4bb1aeca992", + "port": "in" + }, + "size": 16 + } + ] + } + } + }, + "08a1945bf1475fbcda858b7db3a2d4dc988015be": { + "package": { + "name": "1026B", + "version": "0.1.0.1.0", + "description": "Constante con el valor 1026.", + "author": "FPGAwars", + "image": "", + "otid": 1577365787679 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "type": "basic.output", + "data": { + "name": "", + "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 + }, + "position": { + "x": 808, + "y": 264 + } + }, + { + "id": "5164f869-081c-4076-8479-f15fcc430370", + "type": "basic.constant", + "data": { + "name": "maxCFG", + "value": "1026", + "local": true + }, + "position": { + "x": 632, + "y": 128 + } + }, + { + "id": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "type": "34688e4806a6119bdbe88b4751825a9428852b1b", + "position": { + "x": 632, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "92dade38-46ec-4714-b28b-f4bb1aeca992" + }, + "target": { + "block": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "5164f869-081c-4076-8479-f15fcc430370", + "port": "constant-out" + }, + "target": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "eecece47b8724b759ba289c7374654e039c95263": { + "package": { + "name": "Codificador-4-2", + "version": "0.1", + "description": "Codificador de 4 a 2, con prioridad. La salida zero se activa cuando ninguna entrada está activad", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2092.804077%20312.37338%22%20width=%2292.804%22%20height=%22312.373%22%3E%3Cpath%20d=%22M92.804%2072.842c0-6.286-1.871-12.518-5.412-18.025-7.306-11.352-11.167-24.924-11.167-39.247V5.629A5.63%205.63%200%200%200%2070.596%200H22.209a5.63%205.63%200%200%200-5.63%205.629v9.941c0%2014.324-3.86%2027.895-11.167%2039.25C1.872%2060.323%200%2066.555%200%2072.842c0%209.492%204.122%2018.426%2011.65%2025.43v44.017c0%2019.164%2015.588%2034.755%2034.749%2034.755%2019.164%200%2034.755-15.59%2034.755-34.755V98.273c7.528-7.005%2011.65-15.938%2011.65-25.431zM69.896%20142.29c0%2012.956-10.541%2023.497-23.497%2023.497-12.953%200-23.49-10.541-23.49-23.497V92.11c0-6.38%202.55-12.304%206.872-16.623%201.274%208.027%208.24%2014.184%2016.62%2014.184%208.375%200%2015.338-6.15%2016.618-14.169%204.435%204.439%206.877%2010.336%206.877%2016.607v50.18zM40.828%2072.84V50.438c0-3.072%202.5-5.572%205.572-5.572%203.073%200%205.573%202.5%205.573%205.572v22.404c0%203.073-2.5%205.573-5.573%205.573a5.578%205.578%200%200%201-5.572-5.573zm38.752%208.897c-1.65-5.302-4.568-10.162-8.607-14.201a34.654%2034.654%200%200%200-7.742-5.829V50.438c0-9.28-7.55-16.83-16.83-16.83-9.28%200-16.83%207.55-16.83%2016.83v11.257a34.626%2034.626%200%200%200-16.348%2020.044c-1.29-2.834-1.966-5.834-1.966-8.896%200-4.181%201.219-8.196%203.622-11.932%208.477-13.173%2012.958-28.851%2012.958-45.34v-4.313h37.13v4.312c0%2016.489%204.48%2032.167%2012.957%2045.339%202.403%203.737%203.622%207.752%203.622%2011.933%200%203.062-.677%206.062-1.966%208.895z%22%20fill=%22#00f%22/%3E%3Cpath%20d=%22M46.4%20119.636c-8.29%200-15.037%206.746-15.037%2015.038v7.617c0%208.291%206.746%2015.037%2015.038%2015.037s15.038-6.746%2015.038-15.037v-7.617c0-8.292-6.747-15.038-15.038-15.038zm3.78%2022.655a3.784%203.784%200%200%201-3.78%203.78%203.784%203.784%200%200%201-3.779-3.78v-7.617a3.784%203.784%200%200%201%203.78-3.78%203.784%203.784%200%200%201%203.78%203.78zM28.48%20191.362h18.818a5.63%205.63%200%200%200%200-11.258H28.48a5.63%205.63%200%200%200%200%2011.258zM64.325%20193.579h-18.82a5.63%205.63%200%200%200%200%2011.258h18.82a5.63%205.63%200%200%200%200-11.258zM28.48%20218.311h18.818a5.63%205.63%200%200%200%200-11.258H28.48a5.63%205.63%200%200%200%200%2011.258zM64.325%20220.529h-18.82a5.63%205.63%200%200%200%200%2011.258h18.82a5.63%205.63%200%200%200%200-11.258zM52.927%20239.633a5.63%205.63%200%200%200-5.629-5.629H28.48a5.63%205.63%200%200%200%200%2011.258H47.3a5.63%205.63%200%200%200%205.628-5.629zM64.325%20247.48h-18.82a5.63%205.63%200%200%200%200%2011.257h18.82a5.63%205.63%200%200%200%200-11.258zM52.927%20266.413a5.63%205.63%200%200%200-5.629-5.629H28.48a5.63%205.63%200%200%200%200%2011.258H47.3a5.63%205.63%200%200%200%205.628-5.629zM64.325%20274.26h-18.82a5.63%205.63%200%200%200%200%2011.258h18.82a5.63%205.63%200%200%200%200-11.258zM52.927%20293.27a5.63%205.63%200%200%200-5.629-5.63H28.48a5.63%205.63%200%200%200%200%2011.258H47.3a5.63%205.63%200%200%200%205.628-5.629zM64.325%20301.115h-18.82a5.63%205.63%200%200%200%200%2011.258h18.82a5.63%205.63%200%200%200%200-11.258z%22%20fill=%22#00f%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "b3485778-770a-4376-a6cf-0255a60c9099", + "type": "basic.input", + "data": { + "name": "i3", + "clock": false + }, + "position": { + "x": 176, + "y": 72 + } + }, + { + "id": "e903ef36-4c4c-454c-96a8-1ec29f586779", + "type": "basic.output", + "data": { + "name": "y", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 816, + "y": 120 + } + }, + { + "id": "4ce44022-063f-48e0-84ba-6d3b897d8bb1", + "type": "basic.input", + "data": { + "name": "i2", + "clock": false + }, + "position": { + "x": 176, + "y": 136 + } + }, + { + "id": "cdd4fb27-84bd-4556-9bce-7c8d782b125c", + "type": "basic.input", + "data": { + "name": "i1", + "clock": false + }, + "position": { + "x": 176, + "y": 184 + } + }, + { + "id": "0665fc89-33f6-486e-b881-aa40b95e41e5", + "type": "basic.output", + "data": { + "name": "zero" + }, + "position": { + "x": 816, + "y": 208 + } + }, + { + "id": "ec204846-3e57-4ee8-a267-08023b485411", + "type": "basic.input", + "data": { + "name": "i0", + "clock": false + }, + "position": { + "x": 176, + "y": 248 + } + }, + { + "id": "3f02a995-3a83-44a4-8956-b2640956baac", + "type": "basic.code", + "data": { + "code": "//-- Codificador de 4 a 1\n\n//-- Señalizar que todos son ceros\nassign zero = ({i3,i2,i1,i0}==4'b00);\n\n\nassign y = (i3 == 1) ? 2'h3 :\n (i2 == 1) ? 2'h2 :\n (i1 == 1) ? 2'h1 : 0;\n \n", + "params": [], + "ports": { + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + } + ], + "out": [ + { + "name": "y", + "range": "[1:0]", + "size": 2 + }, + { + "name": "zero" + } + ] + } + }, + "position": { + "x": 376, + "y": 104 + }, + "size": { + "width": 360, + "height": 176 + } + } + ], + "wires": [ + { + "source": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "y" + }, + "target": { + "block": "e903ef36-4c4c-454c-96a8-1ec29f586779", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "zero" + }, + "target": { + "block": "0665fc89-33f6-486e-b881-aa40b95e41e5", + "port": "in" + } + }, + { + "source": { + "block": "b3485778-770a-4376-a6cf-0255a60c9099", + "port": "out" + }, + "target": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "i3" + } + }, + { + "source": { + "block": "4ce44022-063f-48e0-84ba-6d3b897d8bb1", + "port": "out" + }, + "target": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "i2" + } + }, + { + "source": { + "block": "cdd4fb27-84bd-4556-9bce-7c8d782b125c", + "port": "out" + }, + "target": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "i1" + }, + "vertices": [] + }, + { + "source": { + "block": "ec204846-3e57-4ee8-a267-08023b485411", + "port": "out" + }, + "target": { + "block": "3f02a995-3a83-44a4-8956-b2640956baac", + "port": "i0" + } + } + ] + } + } + }, + "70125e8776aada0e883af2921c6fae4ceb3e5cbc": { + "package": { + "name": "8bits-Mux-4-1-bus", + "version": "0.0.1", + "description": "Multiplexor de 4 a 1 de 8 bits", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2246.347%22%20height=%22182.066%22%20viewBox=%220%200%2043.450545%20170.68778%22%3E%3Cpath%20d=%22M42.044%2021.324c0-7.134-3.893-13.724-10.206-17.275a20.674%2020.674%200%200%200-20.365.08C5.189%207.728%201.349%2014.347%201.407%2021.481v127.723c-.058%207.135%203.782%2013.755%2010.066%2017.355a20.674%2020.674%200%200%200%2020.365.079c6.313-3.551%2010.206-10.14%2010.206-17.275z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%2270.768%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%2270.768%22%3E2%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.018%22%20y=%2227.719%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.018%22%20y=%2227.719%22%3E3%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22113.534%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22113.534%22%3E1%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22156.655%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22156.655%22%3E0%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "fbc03b1e-bcb0-42b2-9b09-33968aa35d0f", + "type": "basic.input", + "data": { + "name": "i3", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": -112 + } + }, + { + "id": "350946d5-2f29-4190-bcf2-e14e17224bb4", + "type": "basic.input", + "data": { + "name": "i2", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": -56 + } + }, + { + "id": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": -8 + } + }, + { + "id": "820e19c9-d979-418f-b2e5-d806fa3caca3", + "type": "basic.output", + "data": { + "name": "o", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": -16, + "y": -8 + } + }, + { + "id": "1f4c1c55-ee75-41d6-8590-b4e650d636cc", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": 40 + } + }, + { + "id": "bdcce1e9-caca-4175-ae37-8e9e7850526b", + "type": "basic.input", + "data": { + "name": "sel", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -704, + "y": 96 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 4 a 1, \n//-- de 8 bits\n\nassign o = (s == 2'b00) ? i0 :\n (s == 2'b01) ? i1 :\n (s == 2'b10) ? i2 : i3;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i2", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + }, + { + "name": "s", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 352, + "height": 256 + } + } + ], + "wires": [ + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "820e19c9-d979-418f-b2e5-d806fa3caca3", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "1f4c1c55-ee75-41d6-8590-b4e650d636cc", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 8 + }, + { + "source": { + "block": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "350946d5-2f29-4190-bcf2-e14e17224bb4", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i2" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "fbc03b1e-bcb0-42b2-9b09-33968aa35d0f", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i3" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "bdcce1e9-caca-4175-ae37-8e9e7850526b", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "s" + }, + "size": 2 + } + ] + } + } + }, + "f343215b21a61bc8e703027ff28785e85077129c": { + "package": { + "name": "Mux_4_a_1_de_16 bits", + "version": "0.0.2", + "description": "Multiplexor de 4 a 1 de 16 bits", + "author": "Juan Gonzalez-Gomez (obijuan) [Modificado por otro usuario.]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2246.347%22%20height=%22182.066%22%20viewBox=%220%200%2043.450545%20170.68778%22%3E%3Cpath%20d=%22M42.044%2021.324c0-7.134-3.893-13.724-10.206-17.275a20.674%2020.674%200%200%200-20.365.08C5.189%207.728%201.349%2014.347%201.407%2021.481v127.723c-.058%207.135%203.782%2013.755%2010.066%2017.355a20.674%2020.674%200%200%200%2020.365.079c6.313-3.551%2010.206-10.14%2010.206-17.275z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%2270.768%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%2270.768%22%3E2%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.018%22%20y=%2227.719%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.018%22%20y=%2227.719%22%3E3%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22113.534%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22113.534%22%3E1%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22156.655%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22156.655%22%3E0%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "235ce305-1940-4480-b8da-610b6dc50708", + "type": "basic.input", + "data": { + "name": "i3", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": -704, + "y": -240 + } + }, + { + "id": "f34ae012-d52a-4f55-b33a-ff7a902ebb39", + "type": "basic.input", + "data": { + "name": "i2", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": -704, + "y": -152 + } + }, + { + "id": "cff8dd44-0c67-4fce-8c25-ab7b5be98664", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": -704, + "y": -64 + } + }, + { + "id": "457ef919-6d9d-4283-acce-342e46d864a2", + "type": "basic.output", + "data": { + "name": "o", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": -16, + "y": -64 + } + }, + { + "id": "ca222687-2581-4eb5-b4a3-ef2d8d5b3c3f", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": -704, + "y": 24 + } + }, + { + "id": "c6e636cc-5cd2-45e9-9e98-8d39ce314749", + "type": "basic.input", + "data": { + "name": "sel", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -704, + "y": 112 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 4 a 1, \n//-- de 16 bits\n\nreg [15:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n 2: o = i2;\n 3: o = i3;\n default: o = i0;\n endcase\nend", + "params": [], + "ports": { + "in": [ + { + "name": "i3", + "range": "[15:0]", + "size": 16 + }, + { + "name": "i2", + "range": "[15:0]", + "size": 16 + }, + { + "name": "i1", + "range": "[15:0]", + "size": 16 + }, + { + "name": "i0", + "range": "[15:0]", + "size": 16 + }, + { + "name": "sel", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "o", + "range": "[15:0]", + "size": 16 + } + ] + } + }, + "position": { + "x": -464, + "y": -256 + }, + "size": { + "width": 368, + "height": 448 + } + } + ], + "wires": [ + { + "source": { + "block": "cff8dd44-0c67-4fce-8c25-ab7b5be98664", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "size": 16 + }, + { + "source": { + "block": "ca222687-2581-4eb5-b4a3-ef2d8d5b3c3f", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 16 + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "457ef919-6d9d-4283-acce-342e46d864a2", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "c6e636cc-5cd2-45e9-9e98-8d39ce314749", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "sel" + }, + "size": 2 + }, + { + "source": { + "block": "f34ae012-d52a-4f55-b33a-ff7a902ebb39", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i2" + }, + "size": 16 + }, + { + "source": { + "block": "235ce305-1940-4480-b8da-610b6dc50708", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i3" + }, + "size": 16 + } + ] + } + } + }, + "dd9d50a19a2f64b232e6209551d53cb99afb35a8": { + "package": { + "name": "10B", + "version": "3.1415926", + "description": "Constante con el valor 10.", + "author": "FPGAwars", + "image": "", + "otid": 1577365787679 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "type": "basic.output", + "data": { + "name": "", + "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 + }, + "position": { + "x": 808, + "y": 264 + } + }, + { + "id": "5164f869-081c-4076-8479-f15fcc430370", + "type": "basic.constant", + "data": { + "name": "maxCFG", + "value": "10", + "local": true + }, + "position": { + "x": 632, + "y": 128 + } + }, + { + "id": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "type": "34688e4806a6119bdbe88b4751825a9428852b1b", + "position": { + "x": 632, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "92dade38-46ec-4714-b28b-f4bb1aeca992" + }, + "target": { + "block": "e3b193eb-67d7-45a9-91b6-b2b8bf0f57cc", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "5164f869-081c-4076-8479-f15fcc430370", + "port": "constant-out" + }, + "target": { + "block": "2f9e3033-b93d-4f6a-991c-b9b19b569cd4", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "c142d105cc5f0bc57c042a2bebb41f1480054ee1": { + "package": { + "name": "I2C_write_oled CLONE", + "version": "0.104-c1664719646372", + "description": "Maestro I2C de sólo escritura, genérico y programable.", + "author": "Democrito", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2276.019%22%20height=%2265.739%22%20viewBox=%220%200%2071.267811%2061.631136%22%3E%3Cpath%20d=%22M22.717%2060.216a12.161%2012.161%200%200%201-2.118-.807c-1.344-.702-3.332-2.71-4.051-4.09l-.556-1.067-1.712-.046c-1.368-.036-1.925-.125-2.77-.44-2.98-1.112-5.217-3.415-6.123-6.304-.435-1.39-.46-3.63-.054-4.987.15-.504.252-.93.225-.945-2.14-1.239-4.028-3.672-4.69-6.043-.326-1.167-.26-3.509.134-4.775.583-1.87%201.933-3.8%203.478-4.968.433-.327.503-.452.356-.628-.357-.43-.964-2.302-1.061-3.276-.333-3.32%202.195-6.876%205.615-7.9l.9-.27-.095-1.03c-.441-4.73%204.034-8.883%208.792-8.157.916.14%201.274.145%201.316.018.122-.364%201.286-1.712%201.946-2.25.91-.745%202.532-1.49%203.628-1.668%202.928-.476%206.38%201.552%207.889%204.631l.604%201.235.042%2022.364c.045%2024.05.06%2023.5-.75%2025.66-1.617%204.316-6.535%206.896-10.945%205.743zm21.797.077c-2.924-.634-5.726-3.036-6.76-5.794-.826-2.203-.803-1.41-.758-25.614l.04-22.452.61-1.233c1.51-3.05%204.938-5.09%207.779-4.634%201.12.18%202.076.56%203.1%201.227.863.563%202.163%201.9%202.444%202.514.154.337.222.354.96.235.436-.07%201.322-.118%201.97-.105%204.173.081%207.7%204.047%207.312%208.22l-.097%201.046.51.106c1.982.41%204.256%202.248%205.22%204.217.783%201.596.99%203.02.66%204.537-.143.654-.442%201.552-.666%201.997l-.408.81.518.39c1.519%201.147%202.872%203.083%203.462%204.952.397%201.26.46%203.584.129%204.775-.58%202.08-2.194%204.35-3.927%205.517-.393.265-.736.498-.763.518-.027.02.075.45.226.953.405%201.356.38%203.598-.055%204.987-.902%202.875-3.158%205.198-6.123%206.304-.845.315-1.402.404-2.77.44l-1.712.046-.556%201.066c-.718%201.38-2.707%203.39-4.048%204.09-1.96%201.023-4.202%201.338-6.297.885z%22%20fill=%22#faa%22%20stroke=%22#000%22/%3E%3Cpath%20d=%22M22.573%2060.852a12.161%2012.161%200%200%201-2.117-.808c-1.344-.702-3.332-2.709-4.052-4.09l-.555-1.066-1.712-.046c-1.368-.036-1.925-.125-2.77-.44-2.98-1.112-5.217-3.415-6.123-6.305-.436-1.389-.46-3.63-.055-4.986.15-.505.252-.93.226-.945-2.14-1.24-4.028-3.672-4.69-6.044-.327-1.166-.26-3.508.133-4.774.583-1.872%201.934-3.8%203.479-4.969.432-.326.503-.45.356-.627-.358-.43-.964-2.302-1.062-3.277-.332-3.32%202.196-6.876%205.616-7.9l.9-.27-.096-1.028c-.44-4.733%204.035-8.885%208.792-8.158.917.14%201.274.145%201.317.018.12-.365%201.286-1.712%201.946-2.252.909-.743%202.532-1.489%203.628-1.667%202.927-.475%206.38%201.553%207.888%204.632l.605%201.235.042%2022.363c.045%2024.05.06%2023.5-.75%2025.662-1.617%204.315-6.535%206.895-10.946%205.742zm4.125-2.4c2.45-.654%204.236-2.499%204.822-4.98.154-.65.197-5.87.197-23.533V7.241l-.46-.83c-.575-1.035-1.437-1.823-2.58-2.358-1.253-.586-2.884-.573-4.063.033-1.1.565-1.94%201.458-2.573%202.73-.312.627-.686%201.135-.94%201.276-.385.215-.491.203-1.332-.152-1.356-.573-3.24-.552-4.465.048a5.034%205.034%200%200%200-2.481%202.71c-.286.755-.34%201.158-.287%202.182.037.731.168%201.45.313%201.722.137.256.469.934.738%201.506%201.436%203.06%205.58%204.902%208.783%203.907%201.323-.41%202.31-1.084%203.589-2.45.873-.932%201.184-1.166%201.547-1.166%201.022%200%201.555.95%201.065%201.895-.467.902-2.43%202.684-3.677%203.338l-1.16.61.384.235c.21.13.985.84%201.718%201.58%201.654%201.664%202.427%203.034%202.59%204.59.13%201.222.042%201.315-1.088%201.146-.674-.1-.705-.132-1.45-1.462-1.532-2.74-3.818-4.537-7.111-5.588-1.925-.614-3.188-1.145-4.038-1.698-1.11-.72-2.576-2.292-3.161-3.388l-.517-.968-.651.1c-.995.152-2.542.96-3.076%201.608-.905%201.094-1.166%201.852-1.175%203.402-.01%201.605.247%202.34%201.223%203.498.902%201.071.724%201.738-.652%202.45-1.062.548-2.526%201.948-2.992%202.86-.784%201.533-.998%203.451-.568%205.096.534%202.046%201.665%203.403%203.627%204.35%201.71.827%201.77%201.01.98%203.035-.503%201.294-.51%203.643-.015%204.988%201.24%203.363%204.82%205.04%208.59%204.024a12.888%2012.888%200%200%200%202.375-.954c3.909-2.154%205.068-5.599%203.31-9.83-1.132-2.729-3.72-4.344-6.765-4.224-.837.033-.958-.004-1.297-.397-.476-.552-.474-1.065.005-1.62.366-.426.425-.44%201.845-.427%204.5.04%207.807%202.715%209.08%207.344.403%201.47.434%203.64.07%204.995-.728%202.72-2.954%205.28-5.853%206.734-.951.476-.96.578-.163%201.84.872%201.378%202.517%202.58%204.013%202.933.904.212%202.852.19%203.726-.043zm17.672%202.476c-2.923-.633-5.726-3.035-6.76-5.794-.826-2.203-.802-1.41-.758-25.613l.04-22.453.61-1.232c1.512-3.05%204.939-5.09%207.78-4.634%201.119.18%202.076.56%203.099%201.226.864.564%202.163%201.9%202.445%202.515.154.337.22.354.96.235.436-.07%201.322-.118%201.969-.105%204.174.08%207.7%204.046%207.313%208.22l-.098%201.046.51.105c1.982.411%204.257%202.25%205.22%204.218.783%201.596.99%203.02.66%204.537-.142.653-.442%201.552-.666%201.997l-.407.81.518.39c1.518%201.146%202.872%203.083%203.46%204.952.399%201.26.46%203.584.13%204.774-.58%202.08-2.194%204.35-3.926%205.518a85.5%2085.5%200%200%200-.763.518c-.027.02.075.448.225.953.406%201.356.38%203.597-.054%204.986-.902%202.876-3.158%205.2-6.124%206.305-.845.315-1.401.404-2.77.44l-1.712.046-.555%201.066c-.72%201.38-2.708%203.388-4.05%204.09-1.96%201.023-4.201%201.338-6.296.884zm4.878-2.85c1.88-.879%202.957-2.155%203.729-4.42.526-1.548.785-1.706%202.317-1.418%201.385.26%203.113.142%204.265-.293%201.759-.664%203.273-2.262%203.87-4.084.336-1.023.384-3.355.09-4.318l-.194-.64-2.158-.016c-2.26-.017-3.944-.265-5.658-.835-.892-.296-1.116-.313-2.145-.16-.632.094-1.535.315-2.006.49-1.918.717-3.663%202.476-4.367%204.402-.373%201.022-.753%201.39-1.434%201.39-.561%200-1.213-.633-1.213-1.177%200-.225.155-.774.343-1.22%201.156-2.73%203.426-4.927%206.034-5.837l.81-.283-.673-.868c-.946-1.223-1.412-2.09-1.888-3.514-.74-2.206-.734-5.714.009-6.456.473-.47%201.256-.489%201.736-.038.338.317.35.407.266%202.23-.068%201.5-.03%202.115.18%202.918.616%202.346%202.367%204.57%204.299%205.458%201.675.77%203.046%201.013%205.746%201.017%202.214.003%202.405-.02%203.257-.41%201.038-.476%202.43-1.783%202.922-2.746%201.037-2.03%201.036-4.61-.002-6.643-.455-.889-1.913-2.292-2.962-2.85-.474-.252-.948-.569-1.054-.703-.35-.45-.223-1.05.372-1.757.975-1.158%201.232-1.893%201.223-3.498-.01-1.55-.27-2.308-1.175-3.402-.532-.645-2.08-1.456-3.066-1.607l-.642-.098-.691%201.067c-.97%201.494-2.681%203.157-3.83%203.716-1.201.586-3.051.72-4.688.336-1.368-.32-3.62-1.365-3.845-1.785-.28-.522-.197-1.11.214-1.52.486-.487%201.028-.488%201.86-.006%201.726%201%204.075%201.322%205.362.738.853-.388%201.976-1.51%202.79-2.793%201.11-1.743%201.288-2.28%201.288-3.878%200-1.228-.057-1.528-.436-2.299a5.227%205.227%200%200%200-2.446-2.378c-1.05-.484-3.25-.474-4.285.018-.405.193-.83.35-.946.35-.431%200-.91-.51-1.361-1.452-1.191-2.483-3.54-3.678-5.92-3.012-1.661.466-3.251%201.998-3.666%203.536-.252.934-.123%2045.394.134%2046.306.672%202.386%202.387%204.13%204.73%204.813.44.128%201.306.188%202.289.16%201.383-.042%201.712-.109%202.616-.53z%22%20stroke=%22#000%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "da0baa64-033d-4335-9ac6-b143ed98bddb", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -104, + "y": 248 + } + }, + { + "id": "471a0d14-3d25-4376-8996-4020faee35f9", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 608, + "y": 248 + } + }, + { + "id": "75b2810a-9077-4a0e-a311-81e48c4a9b7f", + "type": "basic.inputLabel", + "data": { + "name": "nbits", + "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": 400, + "y": 288 + } + }, + { + "id": "2ca1333f-1349-419e-945b-c151adb02d8e", + "type": "basic.input", + "data": { + "name": "nbytes", + "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, + "clock": false + }, + "position": { + "x": -104, + "y": 328 + } + }, + { + "id": "316ee509-520c-4e7d-9465-ebe91a3aa8cd", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1264, + "y": 336 + } + }, + { + "id": "365e0b31-58b0-429e-bbe8-d1edbbe76dcf", + "type": "basic.output", + "data": { + "name": "sda", + "virtual": true + }, + "position": { + "x": 1760, + "y": 392 + } + }, + { + "id": "d1870c85-874e-466c-a0b1-69c51a7e3129", + "type": "basic.input", + "data": { + "name": "d", + "range": "[7:0]", + "clock": false, + "size": 8, + "virtual": true + }, + "position": { + "x": -104, + "y": 392 + } + }, + { + "id": "97b2cd8e-44f2-435c-b9c2-56f001a33520", + "type": "basic.input", + "data": { + "name": "start", + "clock": false, + "virtual": true + }, + "position": { + "x": -104, + "y": 456 + } + }, + { + "id": "2cfd766f-f716-42a3-87fc-8f292d8cd3b2", + "type": "basic.outputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel1", + "oldBlockColor": "springgreen" + }, + "position": { + "x": 816, + "y": 472 + } + }, + { + "id": "cd24d73d-fba8-42bf-ae36-2fce5708aef3", + "type": "basic.outputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel0", + "oldBlockColor": "springgreen" + }, + "position": { + "x": 816, + "y": 520 + } + }, + { + "id": "fe88c7c3-56fb-4e94-ba5a-fc0603d3d92c", + "type": "basic.inputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel1", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "greenyellow" + }, + "position": { + "x": 1608, + "y": 536 + } + }, + { + "id": "8b6f1454-83fd-4e94-bc4c-a4f327d24982", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 608, + "y": 560 + } + }, + { + "id": "95c7f407-6eff-4310-b08e-8d1be6945a01", + "type": "basic.inputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel0", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1608, + "y": 600 + } + }, + { + "id": "3d76267e-0939-4e01-b0b4-88b1447a62e0", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "rst", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1456, + "y": 640 + } + }, + { + "id": "c88b175d-1a6d-4755-a2f1-4e3da07630f8", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": -232, + "y": 656 + } + }, + { + "id": "f04f2987-571f-40e4-8b07-951ee778c576", + "type": "basic.outputLabel", + "data": { + "name": "nbits", + "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": 400, + "y": 672 + } + }, + { + "id": "ca8db7da-4d50-4d4d-9c59-663a1db6bce5", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkorange", + "name": "end", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1120, + "y": 688 + } + }, + { + "id": "83fa90fd-5f9c-43ec-987b-d9e7bbe76a3a", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 400, + "y": 720 + } + }, + { + "id": "225e6eb4-a96b-459d-a941-43a1cdb2c1f3", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "rst", + "oldBlockColor": "red" + }, + "position": { + "x": 168, + "y": 752 + } + }, + { + "id": "962d80a8-4424-4f49-9db7-9e80b562cb2e", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkorange", + "name": "end", + "oldBlockColor": "indianred", + "virtual": true + }, + "position": { + "x": 400, + "y": 768 + } + }, + { + "id": "62e8ddab-c49a-441d-b384-719f1b926e72", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1120, + "y": 776 + } + }, + { + "id": "57091b29-db70-47de-af93-d7249597a538", + "type": "basic.output", + "data": { + "name": "scl", + "virtual": true + }, + "position": { + "x": 1760, + "y": 912 + } + }, + { + "id": "3cb64857-4f7d-4399-a9d7-1722f3dacb1e", + "type": "basic.outputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel1", + "oldBlockColor": "springgreen" + }, + "position": { + "x": 816, + "y": 992 + } + }, + { + "id": "c24813a0-93d1-40ba-b042-9c0754044bb9", + "type": "basic.outputLabel", + "data": { + "blockColor": "springgreen", + "name": "sel0", + "oldBlockColor": "springgreen" + }, + "position": { + "x": 816, + "y": 1040 + } + }, + { + "id": "009baa64-20d6-42ea-b757-3d8d4087be67", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkorange", + "name": "end", + "oldBlockColor": "fuchsia", + "virtual": true + }, + "position": { + "x": 1120, + "y": 1040 + } + }, + { + "id": "19edbf4e-e0a4-46be-9579-bbf6e5e9a84a", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "rst", + "oldBlockColor": "red" + }, + "position": { + "x": 168, + "y": 1056 + } + }, + { + "id": "2e97816c-0ee8-4cc3-8ee3-cbe225b5838a", + "type": "basic.output", + "data": { + "name": "next", + "virtual": true + }, + "position": { + "x": 1760, + "y": 1080 + } + }, + { + "id": "3c4c6870-0285-4560-9e0b-7c07ca614693", + "type": "basic.output", + "data": { + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1760, + "y": 1152 + } + }, + { + "id": "797b7151-958f-4dec-ac07-ca40f7b6bb12", + "type": "basic.constant", + "data": { + "name": "Hz", + "value": "400000", + "local": false + }, + "position": { + "x": -104, + "y": 544 + } + }, + { + "id": "33953075-7c25-47fc-90b3-cc1eee986198", + "type": "basic.constant", + "data": { + "name": "max", + "value": "9", + "local": true + }, + "position": { + "x": 608, + "y": 928 + } + }, + { + "id": "800a096e-8ed5-4da8-972d-871cae0434c6", + "type": "basic.constant", + "data": { + "name": "us", + "value": "2", + "local": true + }, + "position": { + "x": 1456, + "y": 848 + } + }, + { + "id": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "type": "28cfaadfc1f0212b3214e9aae2e4495fb671cfda", + "position": { + "x": 1120, + "y": 328 + }, + "size": { + "width": 96, + "height": 192 + } + }, + { + "id": "ac3087d6-4040-44c9-b6c7-419f85abc8ed", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 816, + "y": 408 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f695b902-eb13-4945-a2fb-e6dedaecf5c5", + "type": "fc9dacc62ad25cd2832c3442bf277af9b708249b", + "position": { + "x": 1456, + "y": 568 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "type": "28cfaadfc1f0212b3214e9aae2e4495fb671cfda", + "position": { + "x": 1120, + "y": 848 + }, + "size": { + "width": 96, + "height": 192 + } + }, + { + "id": "3223c667-31e2-4fcc-9a40-e78a404ee6d3", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 816, + "y": 928 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "097c33e8-53c3-4d30-bdb0-2ffb3fab84ff", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 816, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "93738302-40e6-4e20-8de2-c28243d88d87", + "type": "0e64bc728cbb881007bf629e44dc5b5b0fa3a34c", + "position": { + "x": -104, + "y": 656 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "12fa7612-381f-41d6-864f-04f56d22906c", + "type": "f6eefd420215172f1266d849d2d6f9c0b7cf1b96", + "position": { + "x": 168, + "y": 536 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "type": "e79148d23652be6d5149f8f6881f7f47bd958497", + "position": { + "x": 1280, + "y": 576 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "type": "da068d1b9cddc920786d22e1195da0e7bc6d12d2", + "position": { + "x": 400, + "y": 552 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "63bc6f06-ce79-472c-8822-80bd2980a3ab", + "type": "basic.info", + "data": { + "info": "## I2C Maestro Genérico de sólo lectura (Centro neurálgico)", + "readonly": true + }, + "position": { + "x": 624, + "y": 208 + }, + "size": { + "width": 576, + "height": 32 + } + }, + { + "id": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "type": "99b33ba4dbda8f81921ae4a430b8da62d68f172d", + "position": { + "x": 608, + "y": 312 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "type": "b871fd5f148d75a5c68e6eb4775e720edd75aabc", + "position": { + "x": 816, + "y": 624 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "type": "2ddbb26d71094c8d654eb6b642054e1d9f5ba734", + "position": { + "x": 608, + "y": 1040 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "73809abc-088f-4e0c-85c1-0d72a33dce6b", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 816, + "y": 816 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a6c7df7b-0dab-4ad9-ae6a-2b7098dd9004", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1264, + "y": 408 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "3944e773-f170-4cc7-8fa9-56e7d2be63de", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 1456, + "y": 968 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "66ce8926-0892-414e-9de7-41cc28101ae1", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": 1280, + "y": 984 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "b9d9c973-db0f-4587-a546-09ddcf8c333a", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 1608, + "y": 952 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ecead2a5-867f-4003-9209-9003f60b25d8", + "type": "35da2dad4970c8fcad4a37fbd3753d8df34516cc", + "position": { + "x": 1456, + "y": 392 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "dfe6b337-4aa9-4fd0-b683-cfdc61b20999", + "type": "d24e0ff4be8e79b9dbe7c9c264b2f560be6e374f", + "position": { + "x": 168, + "y": 328 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1678bb82-1877-4d8d-bc68-2a4c473afac6", + "type": "8d4ef5a2cf273f2265401931a99a46e9dc224688", + "position": { + "x": 608, + "y": 736 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "2161d6b9-a3ef-4e1e-9977-03bab1c5ac04", + "type": "basic.info", + "data": { + "info": "Convierte el número de bytes a números de bits: 9 bits en total; por cada byte se suma un ACK.", + "readonly": true + }, + "position": { + "x": 0, + "y": 240 + }, + "size": { + "width": 608, + "height": 32 + } + }, + { + "id": "8fd6fbc4-8100-4dae-b7a6-ba6efc1d3783", + "type": "basic.info", + "data": { + "info": "Cada byte enviado le acompaña un bit de más que es ACK, en total son 9. Cuando el contador cuente 9 emitirá una señal \"next\" para dar la señal que puede entrar el siguiente byte para ser enviado.", + "readonly": true + }, + "position": { + "x": 336, + "y": 1160 + }, + "size": { + "width": 672, + "height": 32 + } + }, + { + "id": "5dc4af25-756a-42f8-98b3-11a2611278a8", + "type": "basic.info", + "data": { + "info": "Los bytes son transformados en bits y se le añadirá la señal ACK.", + "readonly": true + }, + "position": { + "x": 576, + "y": 448 + }, + "size": { + "width": 208, + "height": 32 + } + }, + { + "id": "0e4fec4e-8317-44e8-8fba-e91511687b05", + "type": "basic.info", + "data": { + "info": "Decodifica todos los ciclo entre la señal start, envío de paquetes de información y la señal stop.", + "readonly": true + }, + "position": { + "x": 1264, + "y": 680 + }, + "size": { + "width": 192, + "height": 32 + } + }, + { + "id": "69f4561b-7c7d-4b3c-9ae5-6b3f785e9f50", + "type": "basic.info", + "data": { + "info": "Alargo un poco más la señal stop.", + "readonly": true + }, + "position": { + "x": 1424, + "y": 1040 + }, + "size": { + "width": 296, + "height": 32 + } + }, + { + "id": "645ce7c2-7092-492d-a69d-a7be4b1be205", + "type": "basic.info", + "data": { + "info": "La señal ha de comenzar en el ciclo bajo, justos después del flaco de bajada.", + "readonly": true + }, + "position": { + "x": 136, + "y": 664 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "cd0c8ee7-e984-4f47-90c1-6738623a6f83", + "type": "basic.info", + "data": { + "info": "Los pines SDA y SCL no necesitan resistencias pull-up porque al ser de sólo escritura no las necesita y usa los niveles lógicos directos a las salidas.", + "readonly": true + }, + "position": { + "x": 1760, + "y": 528 + }, + "size": { + "width": 96, + "height": 32 + } + }, + { + "id": "0bca6155-6ece-4a21-b0ca-c1982169228e", + "type": "basic.info", + "data": { + "info": "Los dos \"Mux\" se encargan de crear la señal de start, envío de paquetes y señal de stop. El Mux de arriba se encarga de SDA y el de abajo el SCL.", + "readonly": true + }, + "position": { + "x": 1088, + "y": 1120 + }, + "size": { + "width": 432, + "height": 32 + } + }, + { + "id": "ef9facbf-7836-4420-94ae-5ab516104e0b", + "type": "basic.info", + "data": { + "info": "Este contador acota el paquete de datos.", + "readonly": true + }, + "position": { + "x": 608, + "y": 840 + }, + "size": { + "width": 144, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "2cfd766f-f716-42a3-87fc-8f292d8cd3b2", + "port": "outlabel" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "7ab3b7a1-0550-497e-bcda-9a1c2384023b" + }, + "vertices": [ + { + "x": 1016, + "y": 472 + } + ] + }, + { + "source": { + "block": "cd24d73d-fba8-42bf-ae36-2fce5708aef3", + "port": "outlabel" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "dd22e3eb-792c-46c2-adb8-194cd0d40d8a" + }, + "vertices": [ + { + "x": 1056, + "y": 512 + } + ] + }, + { + "source": { + "block": "c24813a0-93d1-40ba-b042-9c0754044bb9", + "port": "outlabel" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "dd22e3eb-792c-46c2-adb8-194cd0d40d8a" + }, + "vertices": [ + { + "x": 1048, + "y": 1032 + } + ] + }, + { + "source": { + "block": "f695b902-eb13-4945-a2fb-e6dedaecf5c5", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "95c7f407-6eff-4310-b08e-8d1be6945a01", + "port": "inlabel" + } + }, + { + "source": { + "block": "f695b902-eb13-4945-a2fb-e6dedaecf5c5", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + }, + "target": { + "block": "fe88c7c3-56fb-4e94-ba5a-fc0603d3d92c", + "port": "inlabel" + } + }, + { + "source": { + "block": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "3d76267e-0939-4e01-b0b4-88b1447a62e0", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "da0baa64-033d-4335-9ac6-b143ed98bddb", + "port": "out" + }, + "target": { + "block": "471a0d14-3d25-4376-8996-4020faee35f9", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "83fa90fd-5f9c-43ec-987b-d9e7bbe76a3a", + "port": "outlabel" + }, + "target": { + "block": "1678bb82-1877-4d8d-bc68-2a4c473afac6", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + }, + "vertices": [] + }, + { + "source": { + "block": "c88b175d-1a6d-4755-a2f1-4e3da07630f8", + "port": "outlabel" + }, + "target": { + "block": "93738302-40e6-4e20-8de2-c28243d88d87", + "port": "4656865c-bcf1-4668-8e13-9221e32222d3" + } + }, + { + "source": { + "block": "225e6eb4-a96b-459d-a941-43a1cdb2c1f3", + "port": "outlabel" + }, + "target": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "8eb5e325-90e1-406c-bf05-bdc2d81f47d2" + }, + "vertices": [ + { + "x": 368, + "y": 688 + } + ] + }, + { + "source": { + "block": "8b6f1454-83fd-4e94-bc4c-a4f327d24982", + "port": "outlabel" + }, + "target": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "805c8bca-eac7-4f2a-84af-dc5237fd1669" + }, + "vertices": [ + { + "x": 768, + "y": 640 + } + ] + }, + { + "source": { + "block": "83fa90fd-5f9c-43ec-987b-d9e7bbe76a3a", + "port": "outlabel" + }, + "target": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + } + }, + { + "source": { + "block": "19edbf4e-e0a4-46be-9579-bbf6e5e9a84a", + "port": "outlabel" + }, + "target": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + }, + "vertices": [] + }, + { + "source": { + "block": "8b6f1454-83fd-4e94-bc4c-a4f327d24982", + "port": "outlabel" + }, + "target": { + "block": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + }, + "vertices": [ + { + "x": 1176, + "y": 592 + } + ] + }, + { + "source": { + "block": "3cb64857-4f7d-4399-a9d7-1722f3dacb1e", + "port": "outlabel" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "7ab3b7a1-0550-497e-bcda-9a1c2384023b" + }, + "vertices": [ + { + "x": 1016, + "y": 1016 + } + ] + }, + { + "source": { + "block": "009baa64-20d6-42ea-b757-3d8d4087be67", + "port": "outlabel" + }, + "target": { + "block": "3c4c6870-0285-4560-9e0b-7c07ca614693", + "port": "in" + }, + "vertices": [ + { + "x": 1552, + "y": 1136 + } + ] + }, + { + "source": { + "block": "62e8ddab-c49a-441d-b384-719f1b926e72", + "port": "outlabel" + }, + "target": { + "block": "3944e773-f170-4cc7-8fa9-56e7d2be63de", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + }, + "vertices": [ + { + "x": 1408, + "y": 872 + } + ] + }, + { + "source": { + "block": "62e8ddab-c49a-441d-b384-719f1b926e72", + "port": "outlabel" + }, + "target": { + "block": "66ce8926-0892-414e-9de7-41cc28101ae1", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "009baa64-20d6-42ea-b757-3d8d4087be67", + "port": "outlabel" + }, + "target": { + "block": "66ce8926-0892-414e-9de7-41cc28101ae1", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + } + }, + { + "source": { + "block": "316ee509-520c-4e7d-9465-ebe91a3aa8cd", + "port": "outlabel" + }, + "target": { + "block": "ecead2a5-867f-4003-9209-9003f60b25d8", + "port": "eade65d1-cc62-48fa-a5b4-c622d6c0974a" + } + }, + { + "source": { + "block": "dfe6b337-4aa9-4fd0-b683-cfdc61b20999", + "port": "220b8312-6a50-411c-85dc-d9a9333bdc7b", + "size": 16 + }, + "target": { + "block": "75b2810a-9077-4a0e-a311-81e48c4a9b7f", + "port": "inlabel" + }, + "vertices": [], + "size": 16 + }, + { + "source": { + "block": "f04f2987-571f-40e4-8b07-951ee778c576", + "port": "outlabel" + }, + "target": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "82eefca1-23d7-4a4b-970e-a735c9e697e9", + "size": 16 + }, + "size": 16 + }, + { + "source": { + "block": "962d80a8-4424-4f49-9db7-9e80b562cb2e", + "port": "outlabel" + }, + "target": { + "block": "1678bb82-1877-4d8d-bc68-2a4c473afac6", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + }, + "vertices": [ + { + "x": 520, + "y": 792 + } + ] + }, + { + "source": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "62a32d9a-c5f0-4c6a-9e28-2458dd5e54b2" + }, + "target": { + "block": "ca8db7da-4d50-4d4d-9c59-663a1db6bce5", + "port": "inlabel" + } + }, + { + "source": { + "block": "d1870c85-874e-466c-a0b1-69c51a7e3129", + "port": "out" + }, + "target": { + "block": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "port": "3d8c8f43-cd48-4b9c-9e7d-67edac51291c" + }, + "vertices": [ + { + "x": 464, + "y": 408 + } + ], + "size": 8 + }, + { + "source": { + "block": "ac3087d6-4040-44c9-b6c7-419f85abc8ed", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "db089906-4326-4b59-8aa5-ebb61116a4cd" + }, + "vertices": [] + }, + { + "source": { + "block": "3223c667-31e2-4fcc-9a40-e78a404ee6d3", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "db089906-4326-4b59-8aa5-ebb61116a4cd" + }, + "vertices": [] + }, + { + "source": { + "block": "097c33e8-53c3-4d30-bdb0-2ffb3fab84ff", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "5898179a-7390-429b-ac3c-b7a0df673610" + }, + "vertices": [ + { + "x": 1016, + "y": 336 + } + ] + }, + { + "source": { + "block": "3223c667-31e2-4fcc-9a40-e78a404ee6d3", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "5898179a-7390-429b-ac3c-b7a0df673610" + }, + "vertices": [] + }, + { + "source": { + "block": "797b7151-958f-4dec-ac07-ca40f7b6bb12", + "port": "constant-out" + }, + "target": { + "block": "93738302-40e6-4e20-8de2-c28243d88d87", + "port": "319cdca8-e777-4c8b-88ca-f885ba96ad06" + } + }, + { + "source": { + "block": "93738302-40e6-4e20-8de2-c28243d88d87", + "port": "70887b0b-826c-4150-a873-605b77da8272" + }, + "target": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "27cf1a20-8238-45d4-8e74-84d3fb6c1b00" + }, + "vertices": [ + { + "x": 88, + "y": 664 + } + ] + }, + { + "source": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "4d5fea06-7a04-49b9-a0d7-9a26ebd473b2" + }, + "target": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "7dd850e1-91b2-4c3c-a5d0-127ca8db7eed" + } + }, + { + "source": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "bf7761ee-6924-4523-b8dc-58017da97bbd" + }, + "target": { + "block": "1678bb82-1877-4d8d-bc68-2a4c473afac6", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + }, + "vertices": [ + { + "x": 544, + "y": 680 + } + ] + }, + { + "source": { + "block": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "port": "7a982450-c842-4aa2-8e77-43cc628266e0" + }, + "target": { + "block": "f695b902-eb13-4945-a2fb-e6dedaecf5c5", + "port": "a409d207-7594-4558-8e15-89712262cf5b" + }, + "size": 2 + }, + { + "source": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "1b7ee268-8f6b-4e67-9aaa-fab8b268a5cd" + }, + "target": { + "block": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + }, + "vertices": [ + { + "x": 1168, + "y": 656 + } + ] + }, + { + "source": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "be1061b3-aa0b-4891-8b37-a85530b00c0c" + }, + "target": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "7c9be7b4-8dfa-4abf-a97e-b9325961c22f" + }, + "vertices": [ + { + "x": 576, + "y": 648 + } + ] + }, + { + "source": { + "block": "097c33e8-53c3-4d30-bdb0-2ffb3fab84ff", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "fa311466-9b3b-455f-9a73-efb56fcc06d2" + }, + "vertices": [ + { + "x": 1016, + "y": 344 + } + ] + }, + { + "source": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "4d5fea06-7a04-49b9-a0d7-9a26ebd473b2" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "6ff164c2-5a24-45ee-b357-7b83df4dbbec" + }, + "vertices": [ + { + "x": 312, + "y": 824 + }, + { + "x": 864, + "y": 896 + } + ] + }, + { + "source": { + "block": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "port": "94561c11-4143-48a0-9e92-d019fa035522" + }, + "target": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "6ff164c2-5a24-45ee-b357-7b83df4dbbec" + } + }, + { + "source": { + "block": "da0baa64-033d-4335-9ac6-b143ed98bddb", + "port": "out" + }, + "target": { + "block": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "port": "23f9458b-fbd2-45df-964a-e4d9f02afb30" + }, + "vertices": [] + }, + { + "source": { + "block": "33953075-7c25-47fc-90b3-cc1eee986198", + "port": "constant-out" + }, + "target": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c" + } + }, + { + "source": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "bf7761ee-6924-4523-b8dc-58017da97bbd" + }, + "target": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + }, + "vertices": [ + { + "x": 544, + "y": 1000 + } + ] + }, + { + "source": { + "block": "97b2cd8e-44f2-435c-b9c2-56f001a33520", + "port": "out" + }, + "target": { + "block": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "port": "0258720e-7753-4a86-851b-1e48e252db58" + }, + "vertices": [ + { + "x": 496, + "y": 456 + } + ] + }, + { + "source": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "bf7761ee-6924-4523-b8dc-58017da97bbd" + }, + "target": { + "block": "1c17a569-9b00-42bd-987b-e63d6ece8624", + "port": "88232dd9-5a06-4a31-aa7f-3198ace75241" + }, + "vertices": [ + { + "x": 536, + "y": 504 + } + ] + }, + { + "source": { + "block": "da0baa64-033d-4335-9ac6-b143ed98bddb", + "port": "out" + }, + "target": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "3a98d641-2393-40fc-bee9-f2c119d0738a" + }, + "vertices": [ + { + "x": 88, + "y": 320 + } + ] + }, + { + "source": { + "block": "da0baa64-033d-4335-9ac6-b143ed98bddb", + "port": "out" + }, + "target": { + "block": "7dfa7d6c-d233-454e-a2d3-4c9158b0e83f", + "port": "4d76397d-627c-4211-b580-e9cfc18929aa" + }, + "vertices": [ + { + "x": 312, + "y": 520 + } + ] + }, + { + "source": { + "block": "73809abc-088f-4e0c-85c1-0d72a33dce6b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "fa311466-9b3b-455f-9a73-efb56fcc06d2" + }, + "vertices": [ + { + "x": 1088, + "y": 856 + } + ] + }, + { + "source": { + "block": "800a096e-8ed5-4da8-972d-871cae0434c6", + "port": "constant-out" + }, + "target": { + "block": "3944e773-f170-4cc7-8fa9-56e7d2be63de", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + } + }, + { + "source": { + "block": "bf3782ec-d6ee-43f7-93ec-5e8ded3fdcf2", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "a6c7df7b-0dab-4ad9-ae6a-2b7098dd9004", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "66ce8926-0892-414e-9de7-41cc28101ae1", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "3944e773-f170-4cc7-8fa9-56e7d2be63de", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + } + }, + { + "source": { + "block": "3944e773-f170-4cc7-8fa9-56e7d2be63de", + "port": "c45dab76-9d0f-4742-9e4d-3048637d245d" + }, + "target": { + "block": "b9d9c973-db0f-4587-a546-09ddcf8c333a", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "b9d9c973-db0f-4587-a546-09ddcf8c333a", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "a6c7df7b-0dab-4ad9-ae6a-2b7098dd9004", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 1736, + "y": 640 + }, + { + "x": 1512, + "y": 512 + } + ] + }, + { + "source": { + "block": "e87ff5e2-8a10-49b5-b9c0-7666a7d3765e", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "57091b29-db70-47de-af93-d7249597a538", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "a6c7df7b-0dab-4ad9-ae6a-2b7098dd9004", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "ecead2a5-867f-4003-9209-9003f60b25d8", + "port": "50fee72b-b3e5-4390-a0d5-465be5620cf8" + } + }, + { + "source": { + "block": "ecead2a5-867f-4003-9209-9003f60b25d8", + "port": "fc0b1f10-38aa-4eb8-a929-7d0996614ad4" + }, + "target": { + "block": "365e0b31-58b0-429e-bbe8-d1edbbe76dcf", + "port": "in" + } + }, + { + "source": { + "block": "1678bb82-1877-4d8d-bc68-2a4c473afac6", + "port": "bc20f3e9-fdc2-457f-9c07-6d609142c689" + }, + "target": { + "block": "a55d9ae9-6333-4b61-bfe7-ad1d443edc0f", + "port": "ab91c907-7f12-4de0-a202-02ca63c897a7" + }, + "vertices": [ + { + "x": 768, + "y": 752 + } + ], + "size": 16 + }, + { + "source": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "2b6566a9-942c-4a5d-b0fc-b7197cab0726" + }, + "vertices": [ + { + "x": 768, + "y": 1152 + }, + { + "x": 120, + "y": 1152 + } + ] + }, + { + "source": { + "block": "97b2cd8e-44f2-435c-b9c2-56f001a33520", + "port": "out" + }, + "target": { + "block": "12fa7612-381f-41d6-864f-04f56d22906c", + "port": "67427cd8-288c-4e43-bb79-c9e99ac75e32" + }, + "vertices": [ + { + "x": 48, + "y": 576 + } + ] + }, + { + "source": { + "block": "021cef64-8bb7-4468-8a7f-c3e002007d40", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "2e97816c-0ee8-4cc3-8ee3-cbe225b5838a", + "port": "in" + } + }, + { + "source": { + "block": "2ca1333f-1349-419e-945b-c151adb02d8e", + "port": "out" + }, + "target": { + "block": "dfe6b337-4aa9-4fd0-b683-cfdc61b20999", + "port": "01e92aae-2be1-4eba-92d7-5cf5ea7ed561" + }, + "size": 16 + }, + { + "source": { + "block": "73809abc-088f-4e0c-85c1-0d72a33dce6b", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "792c9665-8020-4cb6-aaa0-c8e7764d35f0", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + } + } + ] + } + } + }, + "28cfaadfc1f0212b3214e9aae2e4495fb671cfda": { + "package": { + "name": "Mux 4 a 1", + "version": "0.0.1", + "description": "Multiplexor de 4 a 1. Implementado en verilog", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2246.347%22%20height=%22182.066%22%20viewBox=%220%200%2043.450545%20170.68778%22%3E%3Cpath%20d=%22M42.044%2021.324c0-7.134-3.893-13.724-10.206-17.275a20.674%2020.674%200%200%200-20.365.08C5.189%207.728%201.349%2014.347%201.407%2021.481v127.723c-.058%207.135%203.782%2013.755%2010.066%2017.355a20.674%2020.674%200%200%200%2020.365.079c6.313-3.551%2010.206-10.14%2010.206-17.275z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%2270.768%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%2270.768%22%3E2%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.018%22%20y=%2227.719%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.018%22%20y=%2227.719%22%3E3%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22113.534%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22113.534%22%3E1%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22156.655%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22156.655%22%3E0%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "fa311466-9b3b-455f-9a73-efb56fcc06d2", + "type": "basic.input", + "data": { + "name": "i3", + "clock": false + }, + "position": { + "x": -720, + "y": -192 + } + }, + { + "id": "6ff164c2-5a24-45ee-b357-7b83df4dbbec", + "type": "basic.input", + "data": { + "name": "i2", + "clock": false + }, + "position": { + "x": -720, + "y": -120 + } + }, + { + "id": "5898179a-7390-429b-ac3c-b7a0df673610", + "type": "basic.input", + "data": { + "name": "i1", + "clock": false + }, + "position": { + "x": -720, + "y": -48 + } + }, + { + "id": "0ef557c8-5378-43b3-80af-176f129f1a07", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": -24, + "y": 0 + } + }, + { + "id": "db089906-4326-4b59-8aa5-ebb61116a4cd", + "type": "basic.input", + "data": { + "name": "i0", + "clock": false + }, + "position": { + "x": -720, + "y": 24 + } + }, + { + "id": "7ab3b7a1-0550-497e-bcda-9a1c2384023b", + "type": "basic.input", + "data": { + "name": "sel1", + "clock": false + }, + "position": { + "x": -720, + "y": 144 + } + }, + { + "id": "dd22e3eb-792c-46c2-adb8-194cd0d40d8a", + "type": "basic.input", + "data": { + "name": "sel0", + "clock": false + }, + "position": { + "x": -720, + "y": 224 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "wire [1:0] sel = {s1, s0};\n\nassign o = (sel == 2'b00) ? i0 :\n (sel == 2'b01) ? i1 :\n (sel == 2'b10) ? i2 : i3;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3" + }, + { + "name": "i2" + }, + { + "name": "i1" + }, + { + "name": "i0" + }, + { + "name": "s1" + }, + { + "name": "s0" + } + ], + "out": [ + { + "name": "o" + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 368, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "0ef557c8-5378-43b3-80af-176f129f1a07", + "port": "in" + } + }, + { + "source": { + "block": "db089906-4326-4b59-8aa5-ebb61116a4cd", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + } + }, + { + "source": { + "block": "5898179a-7390-429b-ac3c-b7a0df673610", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "vertices": [ + { + "x": -576, + "y": -8 + } + ] + }, + { + "source": { + "block": "6ff164c2-5a24-45ee-b357-7b83df4dbbec", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i2" + }, + "vertices": [ + { + "x": -552, + "y": -56 + } + ] + }, + { + "source": { + "block": "fa311466-9b3b-455f-9a73-efb56fcc06d2", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i3" + }, + "vertices": [ + { + "x": -528, + "y": -136 + } + ] + }, + { + "source": { + "block": "dd22e3eb-792c-46c2-adb8-194cd0d40d8a", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "s0" + } + }, + { + "source": { + "block": "7ab3b7a1-0550-497e-bcda-9a1c2384023b", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "s1" + }, + "vertices": [ + { + "x": -520, + "y": 120 + } + ] + } + ] + } + } + }, + "725b7e2cb9666b5ed3183537d9c898f096dab82a": { + "package": { + "name": "1", + "version": "0.1", + "description": "Un bit constante a 1", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.632%22%20height=%2269.34%22%20viewBox=%220%200%2031.530464%2065.006656%22%3E%3Cpath%20d=%22M3.517%2012.015L19%200l12.53%202.863-10.012%2043.262-9.746-2.227%207.7-34.532L8.03%2016.38z%22%20fill=%22green%22%20fill-rule=%22evenodd%22/%3E%3Cpath%20d=%22M17.593%2043.464l7.822%2010.472-6.56%207.919%202.27%202.043m-5.14-20.179l-4.542%2010.473-10.345%202.043.757%203.32%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222.196%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 512, + "y": 160 + } + }, + { + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 1\nassign q = 1'b1;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 + } + } + ], + "wires": [ + { + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" + }, + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "fc9dacc62ad25cd2832c3442bf277af9b708249b": { + "package": { + "name": "Separador-bus", + "version": "0.1", + "description": "Separador de bus de 2-bits en dos cables", + "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": "o1" + }, + "position": { + "x": 568, + "y": 144 + } + }, + { + "id": "a409d207-7594-4558-8e15-89712262cf5b", + "type": "basic.input", + "data": { + "name": "i", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 120, + "y": 200 + } + }, + { + "id": "0f7487e5-b070-4277-bba6-acf69934afca", + "type": "basic.output", + "data": { + "name": "o0" + }, + "position": { + "x": 568, + "y": 272 + } + }, + { + "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": 192, + "height": 112 + } + } + ], + "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 + } + ] + } + } + }, + "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542": { + "package": { + "name": "0", + "version": "0.1", + "description": "Un bit constante a 0", + "author": "Jesus Arroyo", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2233.563%22%20height=%2257.469%22%20viewBox=%220%200%2031.465601%2053.876499%22%3E%3Cpath%20d=%22M21.822%2032.843l4.092%208.992-3.772%209.727%204.181%201.31m-12.967-19.26s-1.091%208.253-2.585%208.919C9.278%2043.198%201%2049.389%201%2049.389l2.647%203.256%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-.863%22%20y=%2230.575%22%20transform=%22scale(.90756%201.10186)%22%20font-weight=%22400%22%20font-size=%2254.594%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%3E%3Ctspan%20x=%22-.863%22%20y=%2230.575%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold%20Italic'%22%20font-style=%22italic%22%20font-weight=%22700%22%3Eo%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 512, + "y": 160 + } + }, + { + "id": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "type": "basic.code", + "data": { + "code": "//-- Bit constante a 0\nassign q = 1'b0;\n\n", + "params": [], + "ports": { + "in": [], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 168, + "y": 112 + }, + "size": { + "width": 256, + "height": 160 + } + } + ], + "wires": [ + { + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" + }, + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "0e64bc728cbb881007bf629e44dc5b5b0fa3a34c": { + "package": { + "name": "Corazon_Hz", + "version": "0.1", + "description": "Corazon genérico para bombear bits a la frecuencia fijada en Hz (por defecto 1Hz)", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22177.215%22%20height=%22156.392%22%20viewBox=%220%200%20166.13943%20146.61829%22%3E%3Cpath%20d=%22M78.495%20143.399c-2.574-4.43-6.565-8.766-14.127-15.35-4.096-3.566-6.588-5.546-20.775-16.506-11.12-8.593-16.668-13.36-23.098-19.847C14.07%2085.208%2010.293%2080.04%207.052%2073.303%204.984%2069%203.562%2064.854%202.676%2060.547c-1.123-5.472-1.275-7.324-1.27-15.382.008-10.573.357-12.332%203.828-19.385%202.58-5.239%204.54-7.997%208.62-12.141%203.963-4.022%206.536-5.85%2012.1-8.6%206.18-3.057%2010.65-3.859%2019.86-3.562%207.157.232%209.776.943%2015.45%204.208%208.929%205.138%2015.858%2013.387%2017.776%2021.162.313%201.27.636%202.312.719%202.312.082%200%20.805-1.487%201.606-3.305%202.727-6.179%205.26-9.95%209.284-13.828%2012.32-11.88%2031.744-14.027%2047.45-5.25%206.414%203.584%2011.633%208.802%2015.676%2015.675%203.184%205.41%204.812%2012.595%205.09%2022.464.402%2014.298-2.214%2024.207-9.174%2034.766-2.763%204.19-4.806%206.73-8.638%2010.73-6.182%206.458-11.758%2011.205-24.92%2021.216-8.307%206.317-13.23%2010.378-20.355%2016.8-5.71%205.143-14.558%2014.1-15.41%2015.596-.372.655-.71%201.189-.749%201.189-.039%200-.544-.815-1.124-1.813z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%222.813%22/%3E%3Ctext%20y=%22136.183%22%20x=%22124.113%22%20style=%22line-height:125%25%22%20font-weight=%22400%22%20font-size=%2253.914%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22136.183%22%20x=%22124.113%22%20font-weight=%22700%22%20font-size=%2230.808%22%3EHz%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "70887b0b-826c-4150-a873-605b77da8272", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 560, + "y": 128 + } + }, + { + "id": "4656865c-bcf1-4668-8e13-9221e32222d3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -296, + "y": 128 + } + }, + { + "id": "319cdca8-e777-4c8b-88ca-f885ba96ad06", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 112, + "y": -224 + } + }, + { + "id": "7e864797-b165-408f-a9ce-2e71dc63f8b8", + "type": "basic.code", + "data": { + "code": "\n//parameter HZ=1;\n\n//-- Constante para dividir y obtener una frecuencia de 1Hz\nlocalparam M = 12000000/HZ;\n\n//-- Calcular el numero de bits para almacenar M\nlocalparam N = $clog2(M);\n\n//-- Registro del divisor\nreg [N-1:0] divcounter;\n\n//-- Temporal clock\nreg clk_t = 0;\n\n//-- Se usa un contador modulo M/2 para luego\n//-- pasarlo por un biestable T y dividir la frecuencia\n//-- entre 2, para que el ciclo de trabajo sea del 50%\nalways @(posedge clk)\n if (divcounter == M/2) begin\n clk_t <= 1;\n divcounter = 0;\n end \n else begin\n divcounter <= divcounter + 1;\n clk_t = 0;\n end \n \nreg clk_o = 0; \n \n//-- Biestable T para obtener ciclo de trabajo del 50%\nalways @(posedge clk)\n if (clk_t)\n clk_o <= ~clk_o;\n", + "params": [ + { + "name": "HZ" + } + ], + "ports": { + "in": [ + { + "name": "clk" + } + ], + "out": [ + { + "name": "clk_o" + } + ] + } + }, + "position": { + "x": -104, + "y": -104 + }, + "size": { + "width": 528, + "height": 528 + } + } + ], + "wires": [ + { + "source": { + "block": "7e864797-b165-408f-a9ce-2e71dc63f8b8", + "port": "clk_o" + }, + "target": { + "block": "70887b0b-826c-4150-a873-605b77da8272", + "port": "in" + } + }, + { + "source": { + "block": "4656865c-bcf1-4668-8e13-9221e32222d3", + "port": "out" + }, + "target": { + "block": "7e864797-b165-408f-a9ce-2e71dc63f8b8", + "port": "clk" + }, + "vertices": [] + }, + { + "source": { + "block": "319cdca8-e777-4c8b-88ca-f885ba96ad06", + "port": "constant-out" + }, + "target": { + "block": "7e864797-b165-408f-a9ce-2e71dc63f8b8", + "port": "HZ" + } + } + ] + } + } + }, + "f6eefd420215172f1266d849d2d6f9c0b7cf1b96": { + "package": { + "name": "Start_down", + "version": "0.1", + "description": "La frecuencia de entrada siempre comienza en el ciclo bajo una vez que hacemos ", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2279.658%22%20height=%22110.457%22%20viewBox=%220%200%2021.07615%2029.22487%22%3E%3Cpath%20d=%22M3.393%2023.17l3.785-.023v-4.01l3.317-.007.024%203.883h3.608%22%20fill=%22none%22%20stroke=%22#0000a1%22%20stroke-width=%22.765%22/%3E%3Cpath%20d=%22M10.745%2012.154l-.024%205.76.496-1.274h-1.04l.544%201.273%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%22.527%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M10.342%2023.037l3.785-.024v-4.01l3.317-.007.024%203.883h3.608%22%20fill=%22none%22%20stroke=%22#0000a1%22%20stroke-width=%22.765%22/%3E%3Cg%20transform=%22matrix(.16834%200%200%20.17685%20-14.34%203.795)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%223.648%22%20y=%2211.13%22%20font-weight=%22700%22%20font-size=%224.939%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20fill=%22#ff844c%22%20stroke=%22#004600%22%20stroke-width=%22.265%22%3E%3Ctspan%20x=%223.648%22%20y=%2211.13%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3EStart%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M1.309%207.416c0%201.456.056%201.456.056%201.456%22%20fill=%22none%22%20stroke=%22#0ff%22%20stroke-width=%22.1%22%20stroke-opacity=%22.151%22/%3E%3Cg%20transform=%22matrix(.16834%200%200%20.17685%20-14.343%2013.542)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M8.974.132h4.558%22%20fill=%22none%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3a98d641-2393-40fc-bee9-f2c119d0738a", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 416, + "y": 168 + } + }, + { + "id": "4d5fea06-7a04-49b9-a0d7-9a26ebd473b2", + "type": "basic.output", + "data": { + "name": "fo" + }, + "position": { + "x": 1544, + "y": 320 + } + }, + { + "id": "27cf1a20-8238-45d4-8e74-84d3fb6c1b00", + "type": "basic.input", + "data": { + "name": "fi", + "clock": false + }, + "position": { + "x": 416, + "y": 336 + } + }, + { + "id": "67427cd8-288c-4e43-bb79-c9e99ac75e32", + "type": "basic.input", + "data": { + "name": "set", + "clock": false + }, + "position": { + "x": 416, + "y": 432 + } + }, + { + "id": "2b6566a9-942c-4a5d-b0fc-b7197cab0726", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 416, + "y": 528 + } + }, + { + "id": "0e67cf9e-3144-4f75-b87a-d1cc04594d77", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": 944, + "y": 336 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "796a7e12-dd7a-4acc-9a18-c77bea2bd796", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 1152, + "y": 320 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "26f43529-1830-464c-9879-74ed6c18be61", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1360, + "y": 320 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f15a9820-a65a-4065-9dd2-755f0e084097", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 608, + "y": 416 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "d8a1a122-df11-4e1d-8549-76c4e157ca3d", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 776, + "y": 352 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6d6ddc4b-748b-4fb2-a238-66312401967c", + "type": "basic.info", + "data": { + "info": "Al darle al \"set\" permitirá que pase la frecuencia \"fi\" hacia \"fo\" pero comenzando siempre con un flanco de bajada de dicha señal. Al darle a \"rst\" impide que pase la frecuencia de entrada. Se trata de que la frecuencia de salida siempre-siempre comience con el ciclo bajo.", + "readonly": true + }, + "position": { + "x": 688, + "y": 80 + }, + "size": { + "width": 576, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "0e67cf9e-3144-4f75-b87a-d1cc04594d77", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "796a7e12-dd7a-4acc-9a18-c77bea2bd796", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "26f43529-1830-464c-9879-74ed6c18be61", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "4d5fea06-7a04-49b9-a0d7-9a26ebd473b2", + "port": "in" + } + }, + { + "source": { + "block": "d8a1a122-df11-4e1d-8549-76c4e157ca3d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "0e67cf9e-3144-4f75-b87a-d1cc04594d77", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + } + }, + { + "source": { + "block": "27cf1a20-8238-45d4-8e74-84d3fb6c1b00", + "port": "out" + }, + "target": { + "block": "d8a1a122-df11-4e1d-8549-76c4e157ca3d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "67427cd8-288c-4e43-bb79-c9e99ac75e32", + "port": "out" + }, + "target": { + "block": "f15a9820-a65a-4065-9dd2-755f0e084097", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "f15a9820-a65a-4065-9dd2-755f0e084097", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "d8a1a122-df11-4e1d-8549-76c4e157ca3d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "2b6566a9-942c-4a5d-b0fc-b7197cab0726", + "port": "out" + }, + "target": { + "block": "f15a9820-a65a-4065-9dd2-755f0e084097", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "2b6566a9-942c-4a5d-b0fc-b7197cab0726", + "port": "out" + }, + "target": { + "block": "796a7e12-dd7a-4acc-9a18-c77bea2bd796", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "796a7e12-dd7a-4acc-9a18-c77bea2bd796", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "26f43529-1830-464c-9879-74ed6c18be61", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "27cf1a20-8238-45d4-8e74-84d3fb6c1b00", + "port": "out" + }, + "target": { + "block": "26f43529-1830-464c-9879-74ed6c18be61", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 528, + "y": 280 + } + ] + }, + { + "source": { + "block": "3a98d641-2393-40fc-bee9-f2c119d0738a", + "port": "out" + }, + "target": { + "block": "0e67cf9e-3144-4f75-b87a-d1cc04594d77", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "3a98d641-2393-40fc-bee9-f2c119d0738a", + "port": "out" + }, + "target": { + "block": "796a7e12-dd7a-4acc-9a18-c77bea2bd796", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "3a98d641-2393-40fc-bee9-f2c119d0738a", + "port": "out" + }, + "target": { + "block": "f15a9820-a65a-4065-9dd2-755f0e084097", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + } + ] + } + } + }, + "7eacdff4ce248b009935725889c8ae3339817d76": { + "package": { + "name": "Bajada", + "version": "0.1", + "description": "Detector de flanco de bajada. Emite un tic cuando detecta un flanco descendente", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22396.685%22%20height=%22254.461%22%20viewBox=%220%200%20104.95637%2067.326178%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-54.29%20-50.022)%22%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M67.528%2082.456l6.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=%22M67.258%2052.035v29.942%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M56.469%2072.226L67.157%2082.68l10.351-10.453%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4196184b-4a60-493b-bcc6-c95958483683", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 152, + "y": 176 + } + }, + { + "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 624, + "y": 200 + } + }, + { + "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 152, + "y": 232 + } + }, + { + "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "type": "basic.code", + "data": { + "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (q & ~i); ", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "i" + } + ], + "out": [ + { + "name": "o" + } + ] + } + }, + "position": { + "x": 336, + "y": 176 + }, + "size": { + "width": 232, + "height": 112 + } + } + ], + "wires": [ + { + "source": { + "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", + "port": "out" + }, + "target": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "i" + } + }, + { + "source": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "o" + }, + "target": { + "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", + "port": "in" + } + }, + { + "source": { + "block": "4196184b-4a60-493b-bcc6-c95958483683", + "port": "out" + }, + "target": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "clk" + } + } + ] + } + } + }, + "b959c256104d1064a5ef7b38632ffb6eed3b396f": { + "package": { + "name": "Biestable-Set-Reset", + "version": "0.1", + "description": "Biestable con entradas de Set y Reset síncronas, para poner y quitar notaficaciones de eventos", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20234.62951%20290.44458%22%20id=%22svg30%22%20width=%22234.63%22%20height=%22290.445%22%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22layer1%22%20transform=%22translate(3.47%203.198)%22%3E%3Cpath%20class=%22st1%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20id=%22path9%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20id=%22path11%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22line17%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20id=%22path21-3%22%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20id=%22path826%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20id=%22rect845%22%20width=%22135.189%22%20height=%22135.189%22%20x=%2295.783%22%20y=%223.671%22%20ry=%2219.847%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20class=%22st2%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20id=%22path7%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 200, + "y": 64 + } + }, + { + "id": "3ae2d46d-7981-497a-899f-b60bfae0f43e", + "type": "basic.input", + "data": { + "name": "set", + "clock": false + }, + "position": { + "x": 200, + "y": 152 + } + }, + { + "id": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 720, + "y": 152 + } + }, + { + "id": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 200, + "y": 232 + } + }, + { + "id": "bf12a800-db30-4289-a7c5-8c08438f9a39", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 464, + "y": 0 + } + }, + { + "id": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "type": "basic.code", + "data": { + "code": "reg q = INI;\n\nalways @(posedge clk)\n if (set)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "set" + }, + { + "name": "rst" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 400, + "y": 120 + }, + "size": { + "width": 224, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "9f09a4af-8f7a-45c3-af7b-293a244e76d9", + "port": "out" + }, + "target": { + "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "port": "clk" + }, + "vertices": [ + { + "x": 336, + "y": 104 + } + ] + }, + { + "source": { + "block": "3ae2d46d-7981-497a-899f-b60bfae0f43e", + "port": "out" + }, + "target": { + "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "port": "set" + } + }, + { + "source": { + "block": "86eb8c81-17fc-4371-bd21-51f429191f3c", + "port": "out" + }, + "target": { + "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "port": "rst" + }, + "vertices": [ + { + "x": 344, + "y": 248 + } + ] + }, + { + "source": { + "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "port": "q" + }, + "target": { + "block": "1cb167a4-9e2a-416b-803e-da7b6151eaa5", + "port": "in" + } + }, + { + "source": { + "block": "bf12a800-db30-4289-a7c5-8c08438f9a39", + "port": "constant-out" + }, + "target": { + "block": "90068dea-9e7b-4a0f-afa3-e6585d0d8542", + "port": "INI" + } + } + ] + } + } + }, + "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6": { + "package": { + "name": "AND", + "version": "1.0.1", + "description": "Puerta AND", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22336.09%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M174.656%20190.045H78.304V4h96.352s87.463%208.625%2087.463%2091.94c0%2083.311-87.463%2094.105-87.463%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2045.668h74.018M4.057%20144.812h74.018m184.632-50.034h69.326%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2292.894%22%20y=%22114.587%22%20font-weight=%22400%22%20font-size=%2258.054%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2292.894%22%20y=%22114.587%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" + }, + "position": { + "x": 64, + "y": 88 + } + }, + { + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 784, + "y": 152 + } + }, + { + "id": "97b51945-d716-4b6c-9db9-970d08541249", + "type": "basic.input", + "data": { + "name": "" + }, + "position": { + "x": 64, + "y": 224 + } + }, + { + "id": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "type": "basic.code", + "data": { + "code": "//-- Puerta AND\n\n//-- module and (input wire a, input wire b,\n//-- output wire c);\n\nassign c = a & b;\n\n//-- endmodule", + "params": [], + "ports": { + "in": [ + { + "name": "a" + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, + "position": { + "x": 256, + "y": 48 + }, + "size": { + "width": 464, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "a" + } + }, + { + "source": { + "block": "97b51945-d716-4b6c-9db9-970d08541249", + "port": "out" + }, + "target": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "b" + } + }, + { + "source": { + "block": "00925b04-5004-4307-a737-fa4e97c8b6ab", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "e79148d23652be6d5149f8f6881f7f47bd958497": { + "package": { + "name": "Contador-2bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 2 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 176 + } + }, + { + "id": "7a982450-c842-4aa2-8e77-43cc628266e0", + "type": "basic.output", + "data": { + "name": "", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 280 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 376 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "4", + "local": false + }, + "position": { + "x": 528, + "y": 48 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 2; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 2'b00;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[1:0]", + "size": 2 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + } + ], + "wires": [ + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "7a982450-c842-4aa2-8e77-43cc628266e0", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + } + ] + } + } + }, + "da068d1b9cddc920786d22e1195da0e7bc6d12d2": { + "package": { + "name": "FirstCycle", + "version": "0.1", + "description": "Tics2 son 2 tics de la primera onda y no vuele a hacer nada. A partir del siguiente ciclo saldrán los tics por Shift.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20125.6999%2038.953771%22%20height=%2241.551%22%20width=%22134.079%22%3E%3Cpath%20d=%22M104.674%2032.058l9.04-.095V4.972h4.684v27.032h5.12%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%222.158%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Cpath%20d=%22M2.067%2031.324h10.706l-.089-25.228%2034.904-.178.356%2025.444h12.854%22%20fill=%22none%22%20stroke=%22#0000e4%22%20stroke-width=%221.875%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3Cpath%20d=%22M49.5%2018.282l26.583-.13-4.139-6.698.046%2014.502%205.335-7.219%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%221.628%22/%3E%3Cpath%20d=%22M74.496%2032.017h6.01V5.027h4.684v27.03h19.484%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%222.158%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22bevel%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "bf7761ee-6924-4523-b8dc-58017da97bbd", + "type": "basic.output", + "data": { + "name": "shift" + }, + "position": { + "x": 1232, + "y": 64 + } + }, + { + "id": "be1061b3-aa0b-4891-8b37-a85530b00c0c", + "type": "basic.output", + "data": { + "name": "Tics2" + }, + "position": { + "x": 1232, + "y": 184 + } + }, + { + "id": "4d76397d-627c-4211-b580-e9cfc18929aa", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 240, + "y": 232 + } + }, + { + "id": "7dd850e1-91b2-4c3c-a5d0-127ca8db7eed", + "type": "basic.input", + "data": { + "name": "fi", + "clock": false + }, + "position": { + "x": 240, + "y": 368 + } + }, + { + "id": "8eb5e325-90e1-406c-bf05-bdc2d81f47d2", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 240, + "y": 440 + } + }, + { + "id": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "type": "c386a7076c0569a15326b30b6748ca284426424d", + "position": { + "x": 408, + "y": 352 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "32a15129-53b6-4622-8527-40ef639f40d2", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 616, + "y": 320 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "47b3f954-894a-4983-bc64-c174a98ef359", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 920, + "y": 304 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "410e59bb-8c52-42ea-baad-ba55b2d45881", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1088, + "y": 64 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "97650747-d2c8-4dd9-b4b8-d005b8693145", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 1088, + "y": 320 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d554db1d-43ad-4e5a-83be-7a4ea45318a5", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1088, + "y": 184 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "64c45c61-3ea2-4d99-953b-ce4e4b76870a", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 616, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8f38d639-1645-4669-b436-a83ed443ed88", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": 768, + "y": 320 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "32a15129-53b6-4622-8527-40ef639f40d2", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "8f38d639-1645-4669-b436-a83ed443ed88", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [] + }, + { + "source": { + "block": "8f38d639-1645-4669-b436-a83ed443ed88", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "47b3f954-894a-4983-bc64-c174a98ef359", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "8eb5e325-90e1-406c-bf05-bdc2d81f47d2", + "port": "out" + }, + "target": { + "block": "47b3f954-894a-4983-bc64-c174a98ef359", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "47b3f954-894a-4983-bc64-c174a98ef359", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "97650747-d2c8-4dd9-b4b8-d005b8693145", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "7dd850e1-91b2-4c3c-a5d0-127ca8db7eed", + "port": "out" + }, + "target": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "410e59bb-8c52-42ea-baad-ba55b2d45881", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "bf7761ee-6924-4523-b8dc-58017da97bbd", + "port": "in" + } + }, + { + "source": { + "block": "d554db1d-43ad-4e5a-83be-7a4ea45318a5", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "be1061b3-aa0b-4891-8b37-a85530b00c0c", + "port": "in" + } + }, + { + "source": { + "block": "4d76397d-627c-4211-b580-e9cfc18929aa", + "port": "out" + }, + "target": { + "block": "32a15129-53b6-4622-8527-40ef639f40d2", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "4d76397d-627c-4211-b580-e9cfc18929aa", + "port": "out" + }, + "target": { + "block": "8f38d639-1645-4669-b436-a83ed443ed88", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "4d76397d-627c-4211-b580-e9cfc18929aa", + "port": "out" + }, + "target": { + "block": "47b3f954-894a-4983-bc64-c174a98ef359", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + }, + "vertices": [] + }, + { + "source": { + "block": "4d76397d-627c-4211-b580-e9cfc18929aa", + "port": "out" + }, + "target": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + }, + { + "source": { + "block": "64c45c61-3ea2-4d99-953b-ce4e4b76870a", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "d554db1d-43ad-4e5a-83be-7a4ea45318a5", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "97650747-d2c8-4dd9-b4b8-d005b8693145", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "d554db1d-43ad-4e5a-83be-7a4ea45318a5", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 1192, + "y": 288 + }, + { + "x": 1104, + "y": 288 + } + ] + }, + { + "source": { + "block": "47b3f954-894a-4983-bc64-c174a98ef359", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "410e59bb-8c52-42ea-baad-ba55b2d45881", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 1048, + "y": 264 + } + ] + }, + { + "source": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + }, + "target": { + "block": "410e59bb-8c52-42ea-baad-ba55b2d45881", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 552, + "y": 136 + } + ] + }, + { + "source": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + }, + "target": { + "block": "32a15129-53b6-4622-8527-40ef639f40d2", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "32a15129-53b6-4622-8527-40ef639f40d2", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "64c45c61-3ea2-4d99-953b-ce4e4b76870a", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 576, + "y": 296 + } + ] + }, + { + "source": { + "block": "d4e4bfab-0b9b-46ac-8e43-c73ea1dfc0bb", + "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + }, + "target": { + "block": "64c45c61-3ea2-4d99-953b-ce4e4b76870a", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 552, + "y": 256 + } + ] + } + ] + } + } + }, + "c386a7076c0569a15326b30b6748ca284426424d": { + "package": { + "name": "Detector-flancos", + "version": "0.1", + "description": "Detector de flancos de subida y bajada. Emite tic por las salidas correspondientes al detecta los flancos", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22375.877%22%20height=%22399.413%22%20viewBox=%220%200%2099.450701%20105.67809%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22b%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-61.727%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.826%2011.41)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cpath%20d=%22M74.965%20140.485l6.027%207.974-5.055%206.03%201.75%201.557m-3.96-15.367l-3.5%207.975-7.97%201.556.582%202.528%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.058%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M74.695%20110.063v29.943%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M63.906%20130.255l10.689%2010.452%2010.35-10.452%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%223.969%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.208%20120.573c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.654%20146.85v-43.764H121.43v43.496%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22111.543%22%20cy=%22149.329%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-142.409%22%20cy=%22143.124%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M125.128%20110.887v3.874M128.718%20110.887v3.874%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M86.122%20125.567h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#b)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2063.956%2061.544)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2708468d-1088-4570-be63-fb0d4799a941", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 152, + "y": 160 + } + }, + { + "id": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "type": "basic.output", + "data": { + "name": "up" + }, + "position": { + "x": 672, + "y": 160 + } + }, + { + "id": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 152, + "y": 248 + } + }, + { + "id": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "type": "basic.output", + "data": { + "name": "down" + }, + "position": { + "x": 672, + "y": 248 + } + }, + { + "id": "49c0a94e-2687-4aa4-8cba-327b2942095f", + "type": "basic.info", + "data": { + "info": "## Detector doble: flancos de subida y bajada\n\nSe detectan tanto los flancos de subida como de bajada y se emite los \ntics por sus salidas correspondientes", + "readonly": true + }, + "position": { + "x": 144, + "y": -24 + }, + "size": { + "width": 568, + "height": 80 + } + }, + { + "id": "a6ea5e17-d259-4272-8d1c-87a6a7fe3235", + "type": "basic.info", + "data": { + "info": "Señal de \nentrada", + "readonly": true + }, + "position": { + "x": 168, + "y": 216 + }, + "size": { + "width": 96, + "height": 56 + } + }, + { + "id": "d0d6c668-3c03-42f5-9244-9a0431f11a87", + "type": "basic.info", + "data": { + "info": "Reloj del \nsistema", + "readonly": true + }, + "position": { + "x": 168, + "y": 120 + }, + "size": { + "width": 96, + "height": 48 + } + }, + { + "id": "73c2239c-1050-4d9f-ae49-0299d50982af", + "type": "basic.code", + "data": { + "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign up = (~q & i); \nassign down = (q & ~i); ", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "i" + } + ], + "out": [ + { + "name": "up" + }, + { + "name": "down" + } + ] + } + }, + "position": { + "x": 336, + "y": 152 + }, + "size": { + "width": 264, + "height": 168 + } + } + ], + "wires": [ + { + "source": { + "block": "2708468d-1088-4570-be63-fb0d4799a941", + "port": "out" + }, + "target": { + "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "port": "clk" + } + }, + { + "source": { + "block": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff", + "port": "out" + }, + "target": { + "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "port": "i" + } + }, + { + "source": { + "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "port": "up" + }, + "target": { + "block": "1c25e08e-e664-4fab-9b30-cedc1f8a3739", + "port": "in" + } + }, + { + "source": { + "block": "73c2239c-1050-4d9f-ae49-0299d50982af", + "port": "down" + }, + "target": { + "block": "3ada5999-55ba-4c4e-9877-a3e9ed82308c", + "port": "in" + } + } + ] + } + } + }, + "35f267d0df6ffcb7fc33753bc9df9cf083642cca": { + "package": { + "name": "NOT", + "version": "1.0.3", + "description": "Puerta NOT", + "author": "Jesús Arroyo, Juan González", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22317.651%22%20height=%22194.058%22%20version=%221%22%3E%3Cpath%20d=%22M69.246%204l161.86%2093.027-161.86%2093.031V4z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22253.352%22%20cy=%2296.736%22%20rx=%2221.393%22%20ry=%2221.893%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M4.057%2097.49h65.262m205.796%200h38.48%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2281.112%22%20y=%22111.734%22%20transform=%22scale(.99532%201.0047)%22%20font-weight=%22400%22%20font-size=%2249.675%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%2281.112%22%20y=%22111.734%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ENot%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "type": "basic.input", + "data": { + "name": "" + }, + "position": { + "x": 64, + "y": 144 + } + }, + { + "id": "664caf9e-5f40-4df4-800a-b626af702e62", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 752, + "y": 144 + } + }, + { + "id": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "type": "basic.code", + "data": { + "code": "//-- Puerta NOT\n\n//-- module (input wire a, output wire c);\n\n\nassign c = ~a;\n\n\n//-- endmodule\n", + "params": [], + "ports": { + "in": [ + { + "name": "a" + } + ], + "out": [ + { + "name": "c" + } + ] + } + }, + "position": { + "x": 256, + "y": 48 + }, + "size": { + "width": 400, + "height": 256 + } + } + ], + "wires": [ + { + "source": { + "block": "18c2ebc7-5152-439c-9b3f-851c59bac834", + "port": "out" + }, + "target": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "a" + } + }, + { + "source": { + "block": "5365ed8c-e5db-4445-938f-8d689830ea5c", + "port": "c" + }, + "target": { + "block": "664caf9e-5f40-4df4-800a-b626af702e62", + "port": "in" + } + } + ] + } + } + }, + "99b33ba4dbda8f81921ae4a430b8da62d68f172d": { + "package": { + "name": "Data_I2C", + "version": "0.5", + "description": "registros de desplazamientos: data(8bits)+ack(1bit).", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22332.65%22%20height=%22522.591%22%20viewBox=%220%200%20311.85879%20489.92835%22%3E%3Ctext%20style=%22line-height:1;-inkscape-font-specification:'Arial,%20Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start%22%20x=%22120.294%22%20y=%22-48.474%22%20transform=%22matrix(0%20.66764%20-1.49782%200%200%200)%22%20font-weight=%22400%22%20font-size=%22192.869%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20fill=%22red%22%20stroke-width=%224.822%22%3E%3Ctspan%20x=%22120.294%22%20y=%22-48.474%22%20style=%22line-height:1;-inkscape-font-specification:'Arial,%20Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start%22%20font-weight=%22700%22%20font-size=%22192.868%22%3EDATA%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M3.974%2061.513h17.237%22%20fill-opacity=%22.09%22%20stroke=%22#000%22%20stroke-width=%22.938%22%20stroke-opacity=%22.055%22/%3E%3Cg%20transform=%22matrix(1.67018%200%200%201.59014%20-140.87%20235.876)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.67018%200%200%201.59014%20-140.87%20348.918)%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%3Cpath%20d=%22M93.23.468c20.977%201.165%2027.97%202.33%2027.97%202.33%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.937%22%20stroke-opacity=%22.06%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "23f9458b-fbd2-45df-964a-e4d9f02afb30", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 16, + "y": -80 + } + }, + { + "id": "ea1cb3b9-6adf-481e-833a-7605bec4d0be", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 200, + "y": -80 + } + }, + { + "id": "3d8c8f43-cd48-4b9c-9e7d-67edac51291c", + "type": "basic.input", + "data": { + "name": "data", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 16, + "y": -24 + } + }, + { + "id": "48d8f84c-ba57-4672-9e30-e7355796e680", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 200, + "y": 184 + } + }, + { + "id": "94561c11-4143-48a0-9e92-d019fa035522", + "type": "basic.output", + "data": { + "name": "q" + }, + "position": { + "x": 1112, + "y": 264 + } + }, + { + "id": "0258720e-7753-4a86-851b-1e48e252db58", + "type": "basic.input", + "data": { + "name": "ld", + "clock": false + }, + "position": { + "x": 16, + "y": 328 + } + }, + { + "id": "88232dd9-5a06-4a31-aa7f-3198ace75241", + "type": "basic.input", + "data": { + "name": "shift", + "clock": false + }, + "position": { + "x": 16, + "y": 424 + } + }, + { + "id": "c8455ef3-a2e8-48e6-9995-9f421be32d19", + "type": "basic.constant", + "data": { + "name": "ack", + "value": "0", + "local": true + }, + "position": { + "x": 16, + "y": 72 + } + }, + { + "id": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "type": "9f38eaea52131b7214313e0d46ad084ae1248b88", + "position": { + "x": 344, + "y": 248 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "73cdfa15-0ddd-4407-9e2a-6544669833cc", + "type": "3ba5d0ecbd8f55582a6307158732789df06cb74c", + "position": { + "x": 16, + "y": 176 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "type": "53847c98bfef0fe28fbef1f4f65042911f361c44", + "position": { + "x": 880, + "y": 256 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "52a3dd1e-0b25-4167-9b6b-6716d9b72166", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 16, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "4289112a-02b3-4f85-a001-2ec1e3f6e1c4", + "type": "basic.info", + "data": { + "info": "# Conviete los bytes en bits series + 1 ACK.", + "readonly": true + }, + "position": { + "x": 376, + "y": -80 + }, + "size": { + "width": 600, + "height": 32 + } + }, + { + "id": "ae7b0ece-f3f7-4b55-9f16-216c9169e1f3", + "type": "basic.info", + "data": { + "info": "Byte serie a enviar.", + "readonly": true + }, + "position": { + "x": 872, + "y": 176 + }, + "size": { + "width": 200, + "height": 32 + } + }, + { + "id": "a3e03e7b-caee-410d-a08b-2a9e844a4a08", + "type": "basic.info", + "data": { + "info": "bit serie ACK a enviar.", + "readonly": true + }, + "position": { + "x": 320, + "y": 176 + }, + "size": { + "width": 192, + "height": 32 + } + }, + { + "id": "bb96d7e9-dee7-4b7e-8c0f-f2dbf971c999", + "type": "basic.info", + "data": { + "info": "### Registro de desplazamiento de 9 bits.", + "readonly": true + }, + "position": { + "x": 488, + "y": 368 + }, + "size": { + "width": 352, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "23f9458b-fbd2-45df-964a-e4d9f02afb30", + "port": "out" + }, + "target": { + "block": "ea1cb3b9-6adf-481e-833a-7605bec4d0be", + "port": "inlabel" + } + }, + { + "source": { + "block": "48d8f84c-ba57-4672-9e30-e7355796e680", + "port": "outlabel" + }, + "target": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "a265c13d-af7a-437b-97ae-424872381a93" + } + }, + { + "source": { + "block": "48d8f84c-ba57-4672-9e30-e7355796e680", + "port": "outlabel" + }, + "target": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "a265c13d-af7a-437b-97ae-424872381a93" + } + }, + { + "source": { + "block": "c8455ef3-a2e8-48e6-9995-9f421be32d19", + "port": "constant-out" + }, + "target": { + "block": "73cdfa15-0ddd-4407-9e2a-6544669833cc", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "73cdfa15-0ddd-4407-9e2a-6544669833cc", + "port": "5d443143-4aca-4d4f-ba40-2b88451b86d3" + }, + "target": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "fb4af8f4-ea57-4f50-b421-f9293eeadd00" + }, + "vertices": [ + { + "x": 160, + "y": 256 + } + ] + }, + { + "source": { + "block": "0258720e-7753-4a86-851b-1e48e252db58", + "port": "out" + }, + "target": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "b916c09a-8848-4500-a1a0-0cc09e8f23c1" + } + }, + { + "source": { + "block": "0258720e-7753-4a86-851b-1e48e252db58", + "port": "out" + }, + "target": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "b916c09a-8848-4500-a1a0-0cc09e8f23c1" + } + }, + { + "source": { + "block": "88232dd9-5a06-4a31-aa7f-3198ace75241", + "port": "out" + }, + "target": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66" + } + }, + { + "source": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "21039c06-c932-498c-968d-879a68d66795" + }, + "target": { + "block": "94561c11-4143-48a0-9e92-d019fa035522", + "port": "in" + } + }, + { + "source": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "04ed84d3-df37-4ffe-a42f-98a658fe1b59" + }, + "target": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "02007399-7499-4b76-ad4f-91094344d055" + }, + "vertices": [ + { + "x": 536, + "y": 312 + } + ] + }, + { + "source": { + "block": "3d8c8f43-cd48-4b9c-9e7d-67edac51291c", + "port": "out" + }, + "target": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "05394100-6c4a-4bd5-b479-739c16ede30c" + }, + "vertices": [ + { + "x": 600, + "y": 128 + } + ], + "size": 8 + }, + { + "source": { + "block": "88232dd9-5a06-4a31-aa7f-3198ace75241", + "port": "out" + }, + "target": { + "block": "1d738986-bfcb-489c-97c6-ff553f8f461f", + "port": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66" + } + }, + { + "source": { + "block": "52a3dd1e-0b25-4167-9b6b-6716d9b72166", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "37d1197d-745a-41d3-a995-fcb95c4a58e0", + "port": "02007399-7499-4b76-ad4f-91094344d055" + } + } + ] + } + } + }, + "9f38eaea52131b7214313e0d46ad084ae1248b88": { + "package": { + "name": "Registro-desplazamiento", + "version": "0.1", + "description": "Registro de desplazamiento (izquierda) de 2 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22600.51%22%20height=%22391.803%22%20viewBox=%220%200%20158.8849%20103.66459%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M63.01%2076.938L76.618%2093.61%2069.7%2073.076%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.626%2068.874L46.394%2049.26l-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.773L54.52%2081.807s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.18%206.94)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M103.454%2076.938L117.06%2093.61l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M96.07%2068.874L86.836%2049.26l-6.45%203.724-2.07-3.583%2020.905-12.07%202.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.773L94.964%2081.807s-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%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M143.141%2076.938l13.607%2016.672-6.917-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M135.757%2068.874l-9.232-19.613-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.773l-23.688%2013.638s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cpath%20d=%22M184.452%2090.227H90.37%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%225.292%22%20marker-end=%22url(#a)%22%20transform=%22translate(-48.145%20-76.529)%22/%3E%3Cg%20transform=%22translate(-93.518%20-26.741)%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": "a265c13d-af7a-437b-97ae-424872381a93", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 224, + "y": 648 + } + }, + { + "id": "02007399-7499-4b76-ad4f-91094344d055", + "type": "basic.input", + "data": { + "name": "sin", + "clock": false + }, + "position": { + "x": 224, + "y": 696 + } + }, + { + "id": "fb4af8f4-ea57-4f50-b421-f9293eeadd00", + "type": "basic.input", + "data": { + "name": "d", + "clock": false + }, + "position": { + "x": 224, + "y": 744 + } + }, + { + "id": "04ed84d3-df37-4ffe-a42f-98a658fe1b59", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 944, + "y": 744 + } + }, + { + "id": "b916c09a-8848-4500-a1a0-0cc09e8f23c1", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 224, + "y": 800 + } + }, + { + "id": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66", + "type": "basic.input", + "data": { + "name": "shift", + "clock": false + }, + "position": { + "x": 224, + "y": 856 + } + }, + { + "id": "4fef4dd0-ce33-42df-96b7-6c92c543f8eb", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 624, + "y": 544 + } + }, + { + "id": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "type": "basic.code", + "data": { + "code": "\nreg q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;\n else if (shift)\n q <= si;\n ", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "si" + }, + { + "name": "d" + }, + { + "name": "load" + }, + { + "name": "shift" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 440, + "y": 656 + }, + "size": { + "width": 464, + "height": 232 + } + } + ], + "wires": [ + { + "source": { + "block": "4fef4dd0-ce33-42df-96b7-6c92c543f8eb", + "port": "constant-out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "INI" + } + }, + { + "source": { + "block": "a265c13d-af7a-437b-97ae-424872381a93", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "clk" + } + }, + { + "source": { + "block": "02007399-7499-4b76-ad4f-91094344d055", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "si" + } + }, + { + "source": { + "block": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "shift" + } + }, + { + "source": { + "block": "b916c09a-8848-4500-a1a0-0cc09e8f23c1", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "load" + } + }, + { + "source": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "q" + }, + "target": { + "block": "04ed84d3-df37-4ffe-a42f-98a658fe1b59", + "port": "in" + } + }, + { + "source": { + "block": "fb4af8f4-ea57-4f50-b421-f9293eeadd00", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "d" + } + } + ] + } + } + }, + "3ba5d0ecbd8f55582a6307158732789df06cb74c": { + "package": { + "name": "Constante-1bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 1 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "type": "basic.output", + "data": { + "name": "" + }, + "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" + } + ] + } + }, + "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": "5d443143-4aca-4d4f-ba40-2b88451b86d3", + "port": "in" + } + } + ] + } + } + }, + "53847c98bfef0fe28fbef1f4f65042911f361c44": { + "package": { + "name": "Registro-desplazamiento", + "version": "0.1", + "description": "Registro de desplazamiento (izquierda) de 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22600.51%22%20height=%22391.803%22%20viewBox=%220%200%20158.8849%20103.66459%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M63.01%2076.938L76.618%2093.61%2069.7%2073.076%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M55.626%2068.874L46.394%2049.26l-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.773L54.52%2081.807s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.18%206.94)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M103.454%2076.938L117.06%2093.61l-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M96.07%2068.874L86.836%2049.26l-6.45%203.724-2.07-3.583%2020.905-12.07%202.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.773L94.964%2081.807s-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%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M143.141%2076.938l13.607%2016.672-6.917-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M135.757%2068.874l-9.232-19.613-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.773l-23.688%2013.638s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cpath%20d=%22M184.452%2090.227H90.37%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%225.292%22%20marker-end=%22url(#a)%22%20transform=%22translate(-48.145%20-76.529)%22/%3E%3Cg%20transform=%22translate(-93.518%20-26.741)%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": "a265c13d-af7a-437b-97ae-424872381a93", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 224, + "y": 648 + } + }, + { + "id": "21039c06-c932-498c-968d-879a68d66795", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 952, + "y": 680 + } + }, + { + "id": "02007399-7499-4b76-ad4f-91094344d055", + "type": "basic.input", + "data": { + "name": "sin", + "clock": false + }, + "position": { + "x": 224, + "y": 696 + } + }, + { + "id": "05394100-6c4a-4bd5-b479-739c16ede30c", + "type": "basic.input", + "data": { + "name": "d", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 224, + "y": 744 + } + }, + { + "id": "90654ccb-afdd-41ec-aaf8-b9be5b51253b", + "type": "basic.output", + "data": { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 968, + "y": 800 + } + }, + { + "id": "b916c09a-8848-4500-a1a0-0cc09e8f23c1", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 224, + "y": 800 + } + }, + { + "id": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66", + "type": "basic.input", + "data": { + "name": "shift", + "clock": false + }, + "position": { + "x": 224, + "y": 856 + } + }, + { + "id": "4fef4dd0-ce33-42df-96b7-6c92c543f8eb", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 624, + "y": 544 + } + }, + { + "id": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits el registros de desplazamiento\nlocalparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;\n else if (shift)\n q <= {q[N-2:0], si};\n \n//-- Sacar el bit de mayor peso por serial-out \nassign so = q[N-1];", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "si" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + }, + { + "name": "shift" + } + ], + "out": [ + { + "name": "so" + }, + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 440, + "y": 656 + }, + "size": { + "width": 464, + "height": 232 + } + } + ], + "wires": [ + { + "source": { + "block": "4fef4dd0-ce33-42df-96b7-6c92c543f8eb", + "port": "constant-out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "INI" + } + }, + { + "source": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "q" + }, + "target": { + "block": "90654ccb-afdd-41ec-aaf8-b9be5b51253b", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "a265c13d-af7a-437b-97ae-424872381a93", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "clk" + } + }, + { + "source": { + "block": "02007399-7499-4b76-ad4f-91094344d055", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "si" + } + }, + { + "source": { + "block": "05394100-6c4a-4bd5-b479-739c16ede30c", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "d" + }, + "size": 8 + }, + { + "source": { + "block": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "shift" + } + }, + { + "source": { + "block": "b916c09a-8848-4500-a1a0-0cc09e8f23c1", + "port": "out" + }, + "target": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "load" + } + }, + { + "source": { + "block": "db9bff83-fad6-439b-8d86-89e21ad7870d", + "port": "so" + }, + "target": { + "block": "21039c06-c932-498c-968d-879a68d66795", + "port": "in" + } + } + ] + } + } + }, + "b871fd5f148d75a5c68e6eb4775e720edd75aabc": { + "package": { + "name": "stopCycle", + "version": "0.1", + "description": "Complemento que junto a resto de los elementos crean la señal Stop.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22157.458%22%20height=%22128.044%22%20viewBox=%220%200%2041.660765%2033.878045%22%3E%3Cpath%20d=%22M11.101%2010.207L11%2020.62l2.092-2.304H8.705L11%2020.618%22%20fill=%22none%22%20stroke=%22red%22%20stroke-width=%221.455%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M.005%2022.243l14.501.042v-6.787l13.702-.14%22%20fill=%22none%22%20stroke=%22#0000a1%22%20stroke-width=%221.426%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20x=%224.364%22%20y=%229.319%22%20font-weight=%22700%22%20font-size=%2211.65%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.89695%201.11489)%22%20font-family=%22sans-serif%22%20fill=%22#ff844c%22%20stroke=%22#004600%22%20stroke-width=%22.625%22%3E%3Ctspan%20x=%224.364%22%20y=%229.319%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%3EStop%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M7.508%206.688c0%201.456.056%201.456.056%201.456%22%20fill=%22none%22%20stroke=%22#0ff%22%20stroke-width=%22.1%22%20stroke-opacity=%22.151%22/%3E%3Cpath%20d=%22M15.438.132h4.558%22%20fill=%22none%22/%3E%3Cpath%20d=%22M.005%2033.165l12.318-.09-.066-6.788c5.404.004%2010.674.107%2016.077%200%22%20fill=%22none%22%20stroke=%22#0000a1%22%20stroke-width=%221.426%22/%3E%3Cg%20transform=%22matrix(.4277%200%200%20.33377%20-7.724%20-3.118)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "805c8bca-eac7-4f2a-84af-dc5237fd1669", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 432, + "y": 256 + } + }, + { + "id": "7c9be7b4-8dfa-4abf-a97e-b9325961c22f", + "type": "basic.input", + "data": { + "name": "p", + "clock": false + }, + "position": { + "x": 432, + "y": 320 + } + }, + { + "id": "1b7ee268-8f6b-4e67-9aaa-fab8b268a5cd", + "type": "basic.output", + "data": { + "name": "o" + }, + "position": { + "x": 1568, + "y": 400 + } + }, + { + "id": "82eefca1-23d7-4a4b-970e-a735c9e697e9", + "type": "basic.input", + "data": { + "name": "i1", + "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, + "clock": false + }, + "position": { + "x": 432, + "y": 504 + } + }, + { + "id": "62a32d9a-c5f0-4c6a-9e28-2458dd5e54b2", + "type": "basic.output", + "data": { + "name": "end", + "virtual": true + }, + "position": { + "x": 1568, + "y": 512 + } + }, + { + "id": "ab91c907-7f12-4de0-a202-02ca63c897a7", + "type": "basic.input", + "data": { + "name": "i0", + "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, + "clock": false + }, + "position": { + "x": 432, + "y": 600 + } + }, + { + "id": "7243224e-ac69-416b-ab14-290e65f96f06", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1432, + "y": 400 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "60558e7b-4a82-4930-b734-de56bca3590f", + "type": "c386a7076c0569a15326b30b6748ca284426424d", + "position": { + "x": 1104, + "y": 416 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7cee510d-d469-4c54-8a91-daf6072ceef1", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1296, + "y": 416 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "cf9d7a7c-3d60-449e-9745-02fb0d7759e7", + "type": "5349f34136745a272f5b6c8aeb7b34adbd879a05", + "position": { + "x": 608, + "y": 552 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d9ac9c12-ceca-404a-9047-8cd464f599df", + "type": "basic.info", + "data": { + "info": "Al comienzo esta igualdad se cumple porque es 0, y no podemos\npermitirlo porque tendríamos un flanco de subida cuando no corresponde.\nEntonces no permitimos que al comienzo suceda eso y esperamos\ncualquier evento (en este caso que 'p' reciba un pulso) para\nhabilitar la igualdad. En ese momento la entrada 'i1' ya tendrá\nun valor inicial sin importar que el contador esté a 0 (entra por 'i0').", + "readonly": true + }, + "position": { + "x": 600, + "y": 624 + }, + "size": { + "width": 536, + "height": 32 + } + }, + { + "id": "31423337-6b95-4e13-80a4-8553729a5c39", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 976, + "y": 432 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "c0c56d8f-3197-4f80-9c53-04835a8ea4f6", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 848, + "y": 416 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "de37ec38-3cb3-47e1-982f-bc8592ef96c3", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 608, + "y": 432 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "7c9be7b4-8dfa-4abf-a97e-b9325961c22f", + "port": "out" + }, + "target": { + "block": "7243224e-ac69-416b-ab14-290e65f96f06", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "805c8bca-eac7-4f2a-84af-dc5237fd1669", + "port": "out" + }, + "target": { + "block": "60558e7b-4a82-4930-b734-de56bca3590f", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + }, + "vertices": [] + }, + { + "source": { + "block": "7243224e-ac69-416b-ab14-290e65f96f06", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "1b7ee268-8f6b-4e67-9aaa-fab8b268a5cd", + "port": "in" + } + }, + { + "source": { + "block": "60558e7b-4a82-4930-b734-de56bca3590f", + "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + }, + "target": { + "block": "7cee510d-d469-4c54-8a91-daf6072ceef1", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "60558e7b-4a82-4930-b734-de56bca3590f", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "7cee510d-d469-4c54-8a91-daf6072ceef1", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "7cee510d-d469-4c54-8a91-daf6072ceef1", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7243224e-ac69-416b-ab14-290e65f96f06", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "60558e7b-4a82-4930-b734-de56bca3590f", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "62a32d9a-c5f0-4c6a-9e28-2458dd5e54b2", + "port": "in" + }, + "vertices": [ + { + "x": 1248, + "y": 544 + } + ] + }, + { + "source": { + "block": "c0c56d8f-3197-4f80-9c53-04835a8ea4f6", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "31423337-6b95-4e13-80a4-8553729a5c39", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "31423337-6b95-4e13-80a4-8553729a5c39", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "60558e7b-4a82-4930-b734-de56bca3590f", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "cf9d7a7c-3d60-449e-9745-02fb0d7759e7", + "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + }, + "target": { + "block": "31423337-6b95-4e13-80a4-8553729a5c39", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "7c9be7b4-8dfa-4abf-a97e-b9325961c22f", + "port": "out" + }, + "target": { + "block": "c0c56d8f-3197-4f80-9c53-04835a8ea4f6", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "de37ec38-3cb3-47e1-982f-bc8592ef96c3", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "c0c56d8f-3197-4f80-9c53-04835a8ea4f6", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [] + }, + { + "source": { + "block": "82eefca1-23d7-4a4b-970e-a735c9e697e9", + "port": "out" + }, + "target": { + "block": "cf9d7a7c-3d60-449e-9745-02fb0d7759e7", + "port": "2045a62b-f1a1-4e90-ac0f-3251ebf086f2" + }, + "size": 16 + }, + { + "source": { + "block": "ab91c907-7f12-4de0-a202-02ca63c897a7", + "port": "out" + }, + "target": { + "block": "cf9d7a7c-3d60-449e-9745-02fb0d7759e7", + "port": "3378ae1c-e39a-4896-93eb-4ced4424cf65" + }, + "vertices": [ + { + "x": 560, + "y": 616 + } + ], + "size": 16 + } + ] + } + } + }, + "5349f34136745a272f5b6c8aeb7b34adbd879a05": { + "package": { + "name": "Comparador_16", + "version": "0.0.7", + "description": "Comparador de igualdad de 16 bits.", + "author": "Juan Gonzalez-Gomez (Obijuan) [modificado por otro usuario]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2045a62b-f1a1-4e90-ac0f-3251ebf086f2", + "type": "basic.input", + "data": { + "name": "", + "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, + "clock": false + }, + "position": { + "x": 168, + "y": 160 + } + }, + { + "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 792, + "y": 192 + } + }, + { + "id": "3378ae1c-e39a-4896-93eb-4ced4424cf65", + "type": "basic.input", + "data": { + "name": "", + "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, + "clock": false + }, + "position": { + "x": 168, + "y": 224 + } + }, + { + "id": "9c811723-c900-4ceb-9989-036b071ee3fe", + "type": "basic.code", + "data": { + "code": "assign eq = (a == b);", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[15:0]", + "size": 16 + }, + { + "name": "b", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "eq" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 312, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "eq" + }, + "target": { + "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "port": "in" + } + }, + { + "source": { + "block": "2045a62b-f1a1-4e90-ac0f-3251ebf086f2", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "a" + }, + "size": 16 + }, + { + "source": { + "block": "3378ae1c-e39a-4896-93eb-4ced4424cf65", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "b" + }, + "size": 16 + } + ] + } + } + }, + "1c7dae7144d376f2ee4896fcc502a29110e2db37": { + "package": { + "name": "Biestable-D", + "version": "0.1", + "description": "Biestable de datos (Tipo D). Cuando se recibe un tic por load se captura el dato", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22156.57%22%20height=%22216.83%22%20viewBox=%220%200%2041.425941%2057.369679%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M25.682%2040.152L39.29%2056.824%2032.372%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M18.298%2032.088L9.066%2012.475l-6.45%203.724-2.07-3.583L21.451.546%2023.52%204.13l-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L17.192%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 192, + "y": 136 + } + }, + { + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 680, + "y": 184 + } + }, + { + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 192, + "y": 232 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 456, + "y": 64 + } + }, + { + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "reg q = INI;\nalways @(posedge clk)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 384, + "y": 168 + }, + "size": { + "width": 232, + "height": 88 + } + } + ], + "wires": [ + { + "source": { + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "port": "out" + }, + "target": { + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" + } + }, + { + "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" + } + } + ] + } + } + }, + "2ddbb26d71094c8d654eb6b642054e1d9f5ba734": { + "package": { + "name": "Contador-4bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 4 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 184 + } + }, + { + "id": "c659caa2-1cf7-4da3-855a-2b0c0ecc7510", + "type": "basic.output", + "data": { + "name": "", + "range": "[3:0]", + "size": 4 + }, + "position": { + "x": 800, + "y": 208 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 288 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 368 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 392 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "16", + "local": false + }, + "position": { + "x": 536, + "y": 64 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 4; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n\n//-- En cuanto haya overflow\n//-- se saca 0 por la salida\nassign q = ov ? 0 : qi;\n\n\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[3:0]", + "size": 4 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 344, + "height": 320 + } + } + ], + "wires": [ + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "c659caa2-1cf7-4da3-855a-2b0c0ecc7510", + "port": "in" + }, + "size": 4 + } + ] + } + } + }, + "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887": { + "package": { + "name": "timer-usec", + "version": "0.1", + "description": "Temporizador en microsegundos. La señal p está activa durante el tiempo indicado. Por tic se emite un tic al finalizar", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20293.13756%20181.35395%22%20width=%22293.137%22%20height=%22181.354%22%3E%3Ccircle%20cx=%22149.086%22%20cy=%2290.681%22%20r=%2270.101%22%20fill=%22#fff%22/%3E%3Cpath%20d=%22M149.086%2013.679c-42.531%200-77.003%2034.472-77.003%2077.002%200%2042.531%2034.472%2077.003%2077.003%2077.003%2042.53%200%2077.003-34.472%2077.003-77.003%200-42.53-34.472-77.002-77.003-77.002zm0%20145.175c-37.673%200-68.173-30.539-68.173-68.173%200-37.633%2030.539-68.172%2068.173-68.172%2037.633%200%2068.172%2030.539%2068.172%2068.172%200%2037.634-30.538%2068.173-68.172%2068.173z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M146.772%2030.683h4.627v18.2h-4.627zM89.125%2092.965v-4.627h18.2v4.627zm62.261%2057.665h-4.627v-18.2h4.627zm57.647-62.28v4.628h-18.2V88.35zM105.044%2049.905l3.272-3.272%2012.87%2012.87-3.273%203.271zm3.28%2084.79l-3.27-3.272%2012.868-12.87%203.272%203.272zm84.774-3.265l-3.272%203.273-12.87-12.87%203.273-3.272zM189.85%2046.64l3.272%203.272-12.87%2012.87-3.271-3.272z%22%20fill=%22#333%22/%3E%3Ccircle%20cx=%22149.086%22%20cy=%2290.681%22%20r=%224.781%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M149.795%2070.653l2.722.288-2.109%2019.9-2.722-.288z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M181.26%2072.13l1.276%202.422-32.859%2017.296-1.275-2.422z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M152.016%2080.386c-1.08%200-1.928.887-1.928%201.928%200%20.656.309%201.234.81%201.581l-14.691%2041.451%201.002.347%2014.691-41.45h.116c1.08%200%201.928-.888%201.928-1.929a1.934%201.934%200%200%200-1.928-1.928z%22%20fill=%22#cf000f%22/%3E%3Ctext%20y=%2242.56%22%20x=%2219.84%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2269.516%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.289%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2242.56%22%20x=%2219.84%22%20font-weight=%22700%22%20font-size=%2239.724%22%3Eus%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22matrix(2.99796%200%200%202.99796%20-53.023%20-84.502)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(2.99796%200%200%202.99796%20-257.041%20-84.502)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22248.578%22%20cy=%2244.56%22%20r=%2243.648%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.824%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M279.216%2057.21h-5.01V30.018h-51.31v26.98h-5.456%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.56%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c45dab76-9d0f-4742-9e4d-3048637d245d", + "type": "basic.output", + "data": { + "name": "p" + }, + "position": { + "x": 1224, + "y": 96 + } + }, + { + "id": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 472, + "y": 96 + } + }, + { + "id": "61d11f03-6fbc-4467-a947-d546fa6f6429", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 456, + "y": 304 + } + }, + { + "id": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454", + "type": "basic.output", + "data": { + "name": "tic" + }, + "position": { + "x": 1216, + "y": 304 + } + }, + { + "id": "7ca578e5-8e36-4c04-bbea-144418c8e9af", + "type": "basic.constant", + "data": { + "name": "", + "value": "100", + "local": false + }, + "position": { + "x": 848, + "y": -96 + } + }, + { + "id": "e6b9690b-1da7-4600-9015-0bbed31633e2", + "type": "basic.info", + "data": { + "info": "**Arranque del** \n**temporizador**", + "readonly": true + }, + "position": { + "x": 448, + "y": 264 + }, + "size": { + "width": 144, + "height": 56 + } + }, + { + "id": "f3af4211-e3df-4710-a0a8-96a035a833a9", + "type": "basic.info", + "data": { + "info": "**Salida de pulso**", + "readonly": true + }, + "position": { + "x": 1224, + "y": 72 + }, + "size": { + "width": 176, + "height": 40 + } + }, + { + "id": "a15228f1-41aa-494c-82fb-5491bf5fcc13", + "type": "basic.info", + "data": { + "info": "**Salida de tic**", + "readonly": true + }, + "position": { + "x": 1216, + "y": 280 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "204eb46d-dd4f-47cf-b0f3-c9095263d325", + "type": "basic.info", + "data": { + "info": "**Parametro del timer** \nmicroseundos a esperar", + "readonly": true + }, + "position": { + "x": 824, + "y": -128 + }, + "size": { + "width": 216, + "height": 56 + } + }, + { + "id": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "type": "basic.code", + "data": { + "code": "//localparam US;\n\n//-- Constante para dividir y obtener una señal de \n//-- periodo 1 micro-segundo\nlocalparam M = 12;\n\n//-- Calcular el numero de bits para almacenar M\nlocalparam N = $clog2(M);\n\n//-- Cable de reset para el corazon\nwire rst_heart;\n\n//-- Overflow del temporizador del corazon\nwire ov_heart;\n\n//-- Habilitacion del corazon\nwire ena;\n\n//-- Tics del corazon\nwire tic_heart;\n\n//-- Contador del corazon\nreg [N-1:0] heart=0;\n\nalways @(posedge clk)\n if (rst_heart)\n heart <= 0;\n else\n heart <= heart + 1;\n\n//-- Overflow del contador\nassign ov_heart = (heart == M-1);\n\n//-- La salida del corazon es la señal de overflow\nassign tic_heart = ov_heart;\n\n//-- Reset del corazon\nassign rst_heart =~ena | ov_heart;\n\n\n\n//--------------------------------------------\n//-- Contador de tics\n//--------------------------------------------\n\n//-- Calcular el numero de bits para almacenar US tics\nlocalparam CB = $clog2(US);\n\nreg [CB:0] counter = 0;\n\n//-- Overflow del contador\nwire ov;\n\n//-- Señal de reset del contador\nwire rst;\n\nalways @(posedge clk)\nif (rst)\n counter <= 0;\nelse\n if (tic_heart)\n counter <= counter + 1;\n\n//-- Evento: cuenta máxima de tics alcanzada\nassign ov = (counter == US);\n\n//---------------------------------------\n//-- Biestable de estado del timer\n//-- 0: Apagado \n//-- 1: Funcionando\nreg q = 0;\n\nalways @(posedge clk)\n if (start)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;\n \n//-- Lógica de reset\n//En función de la entrada, el estado y \n// el overflow se inicializa el contador y \n// se habilita el corazón de tics\nassign rst = ~q | ov | start;\nassign ena = ~rst;\n\n//-- Salida de pulso\nassign p = q;\n\n//-- Salida de tic\n//-- Saca un tic cuando ha finalizado la cuenta\nassign tic = ov;\n", + "params": [ + { + "name": "US" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "start" + } + ], + "out": [ + { + "name": "p" + }, + { + "name": "tic" + } + ] + } + }, + "position": { + "x": 632, + "y": 24 + }, + "size": { + "width": 520, + "height": 416 + } + } + ], + "wires": [ + { + "source": { + "block": "61d11f03-6fbc-4467-a947-d546fa6f6429", + "port": "out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "start" + } + }, + { + "source": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "p" + }, + "target": { + "block": "c45dab76-9d0f-4742-9e4d-3048637d245d", + "port": "in" + } + }, + { + "source": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "tic" + }, + "target": { + "block": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454", + "port": "in" + } + }, + { + "source": { + "block": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6", + "port": "out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "clk" + } + }, + { + "source": { + "block": "7ca578e5-8e36-4c04-bbea-144418c8e9af", + "port": "constant-out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "US" + } + } + ] + } + } + }, + "35da2dad4970c8fcad4a37fbd3753d8df34516cc": { + "package": { + "name": "Delay", + "version": "0.1", + "description": "Retrasa la señal de entrada varios ciclos de reloj.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22512%22%20height=%22512%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20d=%22M512%20256C512%20114.625%20397.375%200%20256%200S0%20114.625%200%20256s114.625%20256%20256%20256%20256-114.625%20256-256zm-480%200C32%20132.469%20132.5%2032%20256%2032s224%20100.469%20224%20224c0%20123.5-100.5%20224-224%20224S32%20379.5%2032%20256zm224%200V64c106.031%200%20192%2085.969%20192%20192H256zm-130.562-93.875l-16%2027.719-27.719-16%2016-27.719%2027.719%2016zm261.124%20187.719l16-27.688%2027.72%2016-16%2027.688-27.72-16zM189.844%20109.438l-27.719%2016-16-27.719%2027.719-16%2016%2027.719zm132.281%20293.124l27.719-16%2016%2027.72-27.688%2016-16.031-27.72zM272%20416v32l-32%20.031V416h32zm-82.156-13.438l-16%2027.72-27.719-15.97%2016.031-27.75%2027.688%2016zm-64.406-52.718l-27.719%2016.031-16.031-27.688%2027.75-16.031%2016%2027.688zM96%20272l-32%20.031-.063-32H96V272z%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "eade65d1-cc62-48fa-a5b4-c622d6c0974a", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 136, + "y": 80 + } + }, + { + "id": "fc0b1f10-38aa-4eb8-a929-7d0996614ad4", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 880, + "y": 136 + } + }, + { + "id": "50fee72b-b3e5-4390-a0d5-465be5620cf8", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 136, + "y": 152 + } + }, + { + "id": "b5571d49-7c43-4698-af7c-27d0b8f7619e", + "type": "af48ebc63c0bdb7fd04dc2a9583c4ebb2248168f", + "position": { + "x": 368, + "y": 136 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "2c54348d-c541-4739-875d-8b08283f773c", + "type": "af48ebc63c0bdb7fd04dc2a9583c4ebb2248168f", + "position": { + "x": 536, + "y": 136 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8a315cd2-d7e5-4016-aa70-0ed7b5571017", + "type": "af48ebc63c0bdb7fd04dc2a9583c4ebb2248168f", + "position": { + "x": 712, + "y": 136 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f758fb58-4504-4f3f-af58-a9b7accc7e37", + "type": "basic.info", + "data": { + "info": "**Retrasa la señal de entrada varios ciclos de reloj.**", + "readonly": true + }, + "position": { + "x": 360, + "y": 24 + }, + "size": { + "width": 528, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "b5571d49-7c43-4698-af7c-27d0b8f7619e", + "port": "73f2857d-3f7f-45c2-92f5-c550285b4e71" + }, + "target": { + "block": "2c54348d-c541-4739-875d-8b08283f773c", + "port": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed" + } + }, + { + "source": { + "block": "2c54348d-c541-4739-875d-8b08283f773c", + "port": "73f2857d-3f7f-45c2-92f5-c550285b4e71" + }, + "target": { + "block": "8a315cd2-d7e5-4016-aa70-0ed7b5571017", + "port": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed" + } + }, + { + "source": { + "block": "50fee72b-b3e5-4390-a0d5-465be5620cf8", + "port": "out" + }, + "target": { + "block": "b5571d49-7c43-4698-af7c-27d0b8f7619e", + "port": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed" + } + }, + { + "source": { + "block": "eade65d1-cc62-48fa-a5b4-c622d6c0974a", + "port": "out" + }, + "target": { + "block": "b5571d49-7c43-4698-af7c-27d0b8f7619e", + "port": "3eab6a54-662e-4398-81a1-e4c1d7285191" + } + }, + { + "source": { + "block": "eade65d1-cc62-48fa-a5b4-c622d6c0974a", + "port": "out" + }, + "target": { + "block": "2c54348d-c541-4739-875d-8b08283f773c", + "port": "3eab6a54-662e-4398-81a1-e4c1d7285191" + } + }, + { + "source": { + "block": "eade65d1-cc62-48fa-a5b4-c622d6c0974a", + "port": "out" + }, + "target": { + "block": "8a315cd2-d7e5-4016-aa70-0ed7b5571017", + "port": "3eab6a54-662e-4398-81a1-e4c1d7285191" + } + }, + { + "source": { + "block": "8a315cd2-d7e5-4016-aa70-0ed7b5571017", + "port": "73f2857d-3f7f-45c2-92f5-c550285b4e71" + }, + "target": { + "block": "fc0b1f10-38aa-4eb8-a929-7d0996614ad4", + "port": "in" + } + } + ] + } + } + }, + "af48ebc63c0bdb7fd04dc2a9583c4ebb2248168f": { + "package": { + "name": "DFF ini = 0", + "version": "1.0", + "description": "DFF ini = 0", + "author": "FPGA WARS", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2263.799%22%20height=%2257.366%22%20viewBox=%220%200%2059.811602%2053.780232%22%3E%3Cg%20transform=%22translate(-310.54%20-373.968)%22%3E%3Cpath%20d=%22M353.401%20407.803l3.157%2019.445%203.914-19.445%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22310.844%22%20y=%22395.812%22%20font-weight=%22400%22%20font-size=%2227.335%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%22310.844%22%20y=%22395.812%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%3ED%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22316.916%22%20y=%22420.476%22%20font-weight=%22400%22%20font-size=%2220%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#00f%22%3E%3Ctspan%20x=%22316.916%22%20y=%22420.476%22%3E0%3C/tspan%3E%3C/text%3E%3Crect%20width=%2223.595%22%20height=%2221.484%22%20x=%22311.539%22%20y=%22402.712%22%20ry=%223.545%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M351.238%20398.03l1.658-19.774h-6.818v-3.788h22.097v3.788h-6.44l1.196%2019.953s5.208.866%206.428%204.494c1.221%203.628-.254%205.053.105%205.104l-25.022-.03s-.566-4.234%201.398-6.377c1.965-2.142%205.398-3.37%205.398-3.37z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3eab6a54-662e-4398-81a1-e4c1d7285191", + "type": "basic.input", + "data": { + "name": "", + "clock": true, + "virtual": true + }, + "position": { + "x": 192, + "y": 56 + } + }, + { + "id": "73f2857d-3f7f-45c2-92f5-c550285b4e71", + "type": "basic.output", + "data": { + "name": "Q" + }, + "position": { + "x": 776, + "y": 88 + } + }, + { + "id": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed", + "type": "basic.input", + "data": { + "name": "D", + "clock": false + }, + "position": { + "x": 192, + "y": 120 + } + }, + { + "id": "1b06d9f0-d794-4cc0-9643-a1a5f32ebaec", + "type": "basic.code", + "data": { + "code": "reg Q = 0;\n\nalways @(posedge Clock)\nbegin\n Q <= D;\nend", + "params": [], + "ports": { + "in": [ + { + "name": "Clock" + }, + { + "name": "D" + } + ], + "out": [ + { + "name": "Q" + } + ] + } + }, + "position": { + "x": 408, + "y": 56 + }, + "size": { + "width": 272, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "3eab6a54-662e-4398-81a1-e4c1d7285191", + "port": "out" + }, + "target": { + "block": "1b06d9f0-d794-4cc0-9643-a1a5f32ebaec", + "port": "Clock" + } + }, + { + "source": { + "block": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed", + "port": "out" + }, + "target": { + "block": "1b06d9f0-d794-4cc0-9643-a1a5f32ebaec", + "port": "D" + } + }, + { + "source": { + "block": "1b06d9f0-d794-4cc0-9643-a1a5f32ebaec", + "port": "Q" + }, + "target": { + "block": "73f2857d-3f7f-45c2-92f5-c550285b4e71", + "port": "in" + } + } + ] + } + } + }, + "d24e0ff4be8e79b9dbe7c9c264b2f560be6e374f": { + "package": { + "name": "x9", + "version": "0.0.7", + "description": "Multiplica la entrada por 9.", + "author": "FPGAwars", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "01e92aae-2be1-4eba-92d7-5cf5ea7ed561", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16, + "virtual": true + }, + "position": { + "x": -336, + "y": 248 + } + }, + { + "id": "220b8312-6a50-411c-85dc-d9a9333bdc7b", + "type": "basic.output", + "data": { + "name": "", + "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 + }, + "position": { + "x": 608, + "y": 280 + } + }, + { + "id": "906d023d-61e2-461d-b6ce-1bbcd72baa0f", + "type": "a53a7115252dabce2ee673317f6fd107bdbaf06b", + "position": { + "x": 416, + "y": 280 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7f0eb471-cb7c-45ea-8a51-e57e07363fdd", + "type": "basic.info", + "data": { + "info": "# Multiplica por 8 mediante cableado y al resultado se le suma la entrada; equivale a multiplicar por 9.", + "readonly": true + }, + "position": { + "x": -464, + "y": 80 + }, + "size": { + "width": 1280, + "height": 32 + } + }, + { + "id": "ec233627-0abd-47dc-a4ec-77ca74fe8be2", + "type": "ecef7f2d28e0aeca49080196fe5e3d051aa9150d", + "position": { + "x": -336, + "y": 328 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ed248d6b-06bd-437c-ba99-3d2239c1aaed", + "type": "f0817116726f460a16fc0dc4abc0cf90d4913691", + "position": { + "x": 208, + "y": 264 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "48929f4f-9812-4c0f-8818-cf5e44ff222a", + "type": "f56f87e05c072b65e7285ab5dd2b1d541066f925", + "position": { + "x": -64, + "y": 248 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "ec233627-0abd-47dc-a4ec-77ca74fe8be2", + "port": "a51316ce-7cf7-430e-ad9d-e4585e687769" + }, + "target": { + "block": "ed248d6b-06bd-437c-ba99-3d2239c1aaed", + "port": "9a1e6ec5-cf4c-48b1-bc9f-7a0f004ce1d7" + }, + "vertices": [], + "size": 3 + }, + { + "source": { + "block": "01e92aae-2be1-4eba-92d7-5cf5ea7ed561", + "port": "out" + }, + "target": { + "block": "906d023d-61e2-461d-b6ce-1bbcd72baa0f", + "port": "5bdb5afd-19a6-40c3-a538-2fcca508ad50" + }, + "vertices": [ + { + "x": -168, + "y": 424 + } + ], + "size": 16 + }, + { + "source": { + "block": "906d023d-61e2-461d-b6ce-1bbcd72baa0f", + "port": "bf745bae-936e-4767-95ad-d294bb6af0ab" + }, + "target": { + "block": "220b8312-6a50-411c-85dc-d9a9333bdc7b", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "ed248d6b-06bd-437c-ba99-3d2239c1aaed", + "port": "6dd0e252-5cae-4885-940a-ebad9c6056b3" + }, + "target": { + "block": "906d023d-61e2-461d-b6ce-1bbcd72baa0f", + "port": "f35a5a72-f387-4e19-b107-8fa1a9c9b968" + }, + "size": 16 + }, + { + "source": { + "block": "48929f4f-9812-4c0f-8818-cf5e44ff222a", + "port": "b6247677-3e3c-4a79-9367-96b2ca8df836" + }, + "target": { + "block": "ed248d6b-06bd-437c-ba99-3d2239c1aaed", + "port": "87deca8b-747f-451c-b906-60c367b1604a" + }, + "size": 13 + }, + { + "source": { + "block": "01e92aae-2be1-4eba-92d7-5cf5ea7ed561", + "port": "out" + }, + "target": { + "block": "48929f4f-9812-4c0f-8818-cf5e44ff222a", + "port": "36b98be3-93b0-48d1-8c5c-9267a3d2b233" + }, + "size": 16 + } + ] + } + } + }, + "a53a7115252dabce2ee673317f6fd107bdbaf06b": { + "package": { + "name": "sum-2op-16bits", + "version": "0.1", + "description": "Sumador de dos operandos de 16 bits", + "author": "Juan González-Gómez", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22235.335%22%20height=%22233.476%22%20viewBox=%220%200%20220.62617%20218.88448%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-19.477%22%20y=%22210.957%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-19.477%22%20y=%22210.957%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M.468%2097.426V114%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.938%22%20stroke-opacity=%22.085%22/%3E%3Cpath%20d=%22M219.244%2097.426V108.2c0%20.201-.026%202.46%200%202.486.195.196.633-.195.829%200%20.033.034%200%203.01%200%203.315v2.486c0%20.276.195.634%200%20.829-.196.195-.553%200-.829%200%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.938%22%20stroke-opacity=%22.101%22/%3E%3Cpath%20d=%22M97.426.469h15.745%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.938%22%20stroke-opacity=%22.03%22/%3E%3Cpath%20d=%22M100.74%20218.416h11.602%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%22.938%22%20stroke-opacity=%22.075%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "f35a5a72-f387-4e19-b107-8fa1a9c9b968", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": 208, + "y": 136 + } + }, + { + "id": "bf745bae-936e-4767-95ad-d294bb6af0ab", + "type": "basic.output", + "data": { + "name": "", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": 672, + "y": 192 + } + }, + { + "id": "5bdb5afd-19a6-40c3-a538-2fcca508ad50", + "type": "basic.input", + "data": { + "name": "", + "range": "[15:0]", + "clock": false, + "size": 16 + }, + "position": { + "x": 208, + "y": 208 + } + }, + { + "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "type": "basic.code", + "data": { + "code": "assign s = a + b;", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[15:0]", + "size": 16 + }, + { + "name": "b", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "s", + "range": "[15:0]", + "size": 16 + } + ] + } + }, + "position": { + "x": 384, + "y": 192 + }, + "size": { + "width": 216, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "f35a5a72-f387-4e19-b107-8fa1a9c9b968", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "a" + }, + "size": 16 + }, + { + "source": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "s" + }, + "target": { + "block": "bf745bae-936e-4767-95ad-d294bb6af0ab", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "5bdb5afd-19a6-40c3-a538-2fcca508ad50", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "b" + }, + "size": 16 + } + ] + } + } + }, + "ecef7f2d28e0aeca49080196fe5e3d051aa9150d": { + "package": { + "name": "Valor_0_3bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 3 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22255.888%22%20height=%22307.912%22%20viewBox=%220%200%20239.89529%20288.66753%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22372.115%22%20y=%22646.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22372.115%22%20y=%22646.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22322.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22322.722%22%20y=%22721.624%22%3E0000%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22528.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20fill=%22#00f%22%20transform=%22translate(-326.544%20-434.037)%22%3E%3Ctspan%20x=%22528.722%22%20y=%22721.624%22%3E0%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a51316ce-7cf7-430e-ad9d-e4585e687769", + "type": "basic.output", + "data": { + "name": "", + "range": "[2:0]", + "size": 3 + }, + "position": { + "x": 928, + "y": 256 + } + }, + { + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 728, + "y": 152 + } + }, + { + "id": "b08e569c-1322-4e88-afce-c16f31cd05cb", + "type": "be878c354aac5cdbba8612fe769b2bbea58e9e65", + "position": { + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" + }, + "target": { + "block": "b08e569c-1322-4e88-afce-c16f31cd05cb", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "b08e569c-1322-4e88-afce-c16f31cd05cb", + "port": "88beda92-8f6e-4ed4-bb5c-c208151f380f" + }, + "target": { + "block": "a51316ce-7cf7-430e-ad9d-e4585e687769", + "port": "in" + }, + "size": 3 + } + ] + } + } + }, + "be878c354aac5cdbba8612fe769b2bbea58e9e65": { + "package": { + "name": "Constante-3bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 3 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": "88beda92-8f6e-4ed4-bb5c-c208151f380f", + "type": "basic.output", + "data": { + "name": "k", + "range": "[2:0]", + "size": 3 + }, + "position": { + "x": 960, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 728, + "y": 112 + } + }, + { + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[2:0]", + "size": 3 + } + ] + } + }, + "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": "88beda92-8f6e-4ed4-bb5c-c208151f380f", + "port": "in" + }, + "size": 3 + } + ] + } + } + }, + "f0817116726f460a16fc0dc4abc0cf90d4913691": { + "package": { + "name": "MultiplicaX16", + "version": "0.0.7777", + "description": "Agrega 2 buses de 13 y 3 bits a un bus de 16 bits.", + "author": "Juan González-Gómez (Obijuan) [Modificado por otro usuario.]", + "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": "87deca8b-747f-451c-b906-60c367b1604a", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[12:0]", + "pins": [ + { + "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, + "clock": false + }, + "position": { + "x": 112, + "y": 176 + } + }, + { + "id": "6dd0e252-5cae-4885-940a-ebad9c6056b3", + "type": "basic.output", + "data": { + "name": "o", + "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 + }, + "position": { + "x": 792, + "y": 200 + } + }, + { + "id": "9a1e6ec5-cf4c-48b1-bc9f-7a0f004ce1d7", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[2:0]", + "pins": [ + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 112, + "y": 232 + } + }, + { + "id": "6c7839e6-84a1-496b-b16b-86353d3b654f", + "type": "basic.info", + "data": { + "info": "# Multiplica x8.", + "readonly": true + }, + "position": { + "x": 408, + "y": 104 + }, + "size": { + "width": 176, + "height": 32 + } + }, + { + "id": "16e78204-213e-4833-9096-89d735307ec2", + "type": "basic.code", + "data": { + "code": "assign o = {i1, i0};", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[12:0]", + "size": 13 + }, + { + "name": "i0", + "range": "[2:0]", + "size": 3 + } + ], + "out": [ + { + "name": "o", + "range": "[15:0]", + "size": 16 + } + ] + } + }, + "position": { + "x": 352, + "y": 176 + }, + "size": { + "width": 296, + "height": 112 + } + } + ], + "wires": [ + { + "source": { + "block": "9a1e6ec5-cf4c-48b1-bc9f-7a0f004ce1d7", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i0" + }, + "vertices": [], + "size": 3 + }, + { + "source": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "o" + }, + "target": { + "block": "6dd0e252-5cae-4885-940a-ebad9c6056b3", + "port": "in" + }, + "size": 16 + }, + { + "source": { + "block": "87deca8b-747f-451c-b906-60c367b1604a", + "port": "out" + }, + "target": { + "block": "16e78204-213e-4833-9096-89d735307ec2", + "port": "i1" + }, + "size": 13 + } + ] + } + } + }, + "f56f87e05c072b65e7285ab5dd2b1d541066f925": { + "package": { + "name": "Embudo_15_12", + "version": "0.31415", + "description": "Elimina los 3 bits más altos.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59488%20225.99247%22%3E%3Cpath%20d=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v224.992h62.612c14.924.04%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", + "otid": 1580559200494 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "36b98be3-93b0-48d1-8c5c-9267a3d2b233", + "type": "basic.input", + "data": { + "name": "", + "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, + "clock": false + }, + "position": { + "x": 368, + "y": 272 + } + }, + { + "id": "b6247677-3e3c-4a79-9367-96b2ca8df836", + "type": "basic.output", + "data": { + "name": "", + "range": "[12:0]", + "pins": [ + { + "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 + }, + "position": { + "x": 864, + "y": 272 + } + }, + { + "id": "66119d9b-51f1-4f79-a993-8cf709da5f37", + "type": "basic.code", + "data": { + "code": "assign o = i;", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[15:0]", + "size": 16 + } + ], + "out": [ + { + "name": "o", + "range": "[12:0]", + "size": 13 + } + ] + } + }, + "position": { + "x": 544, + "y": 240 + }, + "size": { + "width": 232, + "height": 128 + } + }, + { + "id": "650f9ae1-5a9f-4d4b-963d-9e764a65e787", + "type": "basic.info", + "data": { + "info": "Elimina los 3 bits más altos.", + "readonly": true + }, + "position": { + "x": 576, + "y": 384 + }, + "size": { + "width": 200, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "36b98be3-93b0-48d1-8c5c-9267a3d2b233", + "port": "out" + }, + "target": { + "block": "66119d9b-51f1-4f79-a993-8cf709da5f37", + "port": "i" + }, + "size": 16 + }, + { + "source": { + "block": "66119d9b-51f1-4f79-a993-8cf709da5f37", + "port": "o" + }, + "target": { + "block": "b6247677-3e3c-4a79-9367-96b2ca8df836", + "port": "in" + }, + "size": 13 + } + ] + } + } + }, + "8d4ef5a2cf273f2265401931a99a46e9dc224688": { + "package": { + "name": "Contador-16bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 16 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 176 + } + }, + { + "id": "bc20f3e9-fdc2-457f-9c07-6d609142c689", + "type": "basic.output", + "data": { + "name": "", + "range": "[15:0]", + "size": 16 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 280 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 376 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "'h10000", + "local": false + }, + "position": { + "x": 528, + "y": 48 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 16; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[15:0]", + "size": 16 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + } + ], + "wires": [ + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "bc20f3e9-fdc2-457f-9c07-6d609142c689", + "port": "in" + }, + "size": 16 + } + ] + } + } + }, + "1fae63e5a5ff6a95f711cb8f1308e6687267f9be": { + "package": { + "name": "Draw_Line_memory_manager_AQM77", + "version": "0.1", + "description": "Create a line and save it in memory to later represent it in the Oled.", + "author": "Democrito", + "image": "%3Csvg%20viewBox=%220%200%20103.01525%20135.07816%22%20height=%22510.532%22%20width=%22389.349%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cdefs%3E%3ClinearGradient%20id=%22c%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#2d2839%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#282433%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22b%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#fff%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#fff%22%20stop-opacity=%22.094%22/%3E%3C/linearGradient%3E%3ClinearGradient%20id=%22a%22%3E%3Cstop%20offset=%220%22%20stop-color=%22#77767b%22/%3E%3Cstop%20offset=%22.05%22%20stop-color=%22#c0bfbc%22/%3E%3Cstop%20offset=%22.1%22%20stop-color=%22#9a9996%22/%3E%3Cstop%20offset=%22.9%22%20stop-color=%22#9a9996%22/%3E%3Cstop%20offset=%22.95%22%20stop-color=%22#c0bfbc%22/%3E%3Cstop%20offset=%221%22%20stop-color=%22#77767b%22/%3E%3C/linearGradient%3E%3ClinearGradient%20gradientUnits=%22userSpaceOnUse%22%20y2=%2244%22%20x2=%22464%22%20y1=%2244%22%20x1=%2248%22%20id=%22d%22%20xlink:href=%22#a%22/%3E%3CradialGradient%20gradientUnits=%22userSpaceOnUse%22%20gradientTransform=%22matrix(-4.72727%200%200%20-1.63636%20238.545%2049.766)%22%20r=%2244%22%20fy=%22194.19%22%20fx=%2264%22%20cy=%22194.19%22%20cx=%2264%22%20id=%22e%22%20xlink:href=%22#b%22/%3E%3ClinearGradient%20gradientUnits=%22userSpaceOnUse%22%20y2=%22269.137%22%20x2=%2270.347%22%20y1=%22245.395%22%20x1=%2270.347%22%20id=%22f%22%20xlink:href=%22#c%22%20gradientTransform=%22matrix(1%200%200%203.53571%200%20-668.714)%22/%3E%3C/defs%3E%3Cg%20transform=%22matrix(.99053%200%200%201.15%20-11.886%20-211.599)%22%3E%3Crect%20ry=%2232%22%20rx=%2232%22%20y=%22-124%22%20x=%2248%22%20height=%22376%22%20width=%22416%22%20style=%22marker:none%22%20transform=%22matrix(.25%200%200%20.25%200%20225)%22%20fill=%22url(#d)%22/%3E%3Crect%20style=%22marker:none%22%20width=%22104%22%20height=%22117.46%22%20x=%2212%22%20y=%22184%22%20rx=%228%22%20ry=%229.788%22%20fill=%22#deddda%22/%3E%3Crect%20style=%22marker:none%22%20width=%2296%22%20height=%22109.46%22%20x=%2215.469%22%20y=%22-298.286%22%20rx=%224%22%20ry=%224.975%22%20transform=%22scale(1%20-1)%22%20fill=%22#241f31%22/%3E%3Cpath%20style=%22marker:none%22%20transform=%22scale(-1)%22%20d=%22M-108-272h88v78h-88z%22%20opacity=%22.05%22%20fill=%22url(#e)%22/%3E%3Cpath%20style=%22marker:none%22%20d=%22M100%20194h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm76%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm-8%200h4v14.142h-4zm76%2014.142h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm84%2014.143h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm-8%200h4v14.143h-4zm76%2014.143h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4zm-8%200h4V293h-4z%22%20fill=%22url(#f)%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2256.328%22%20y=%2240.684%22%20font-size=%2245.765%22%20transform=%22scale(.81332%201.22954)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%221.198%22%3E%3Ctspan%20x=%2261.647%22%20y=%2240.684%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3EDraw%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2281.338%22%20y=%2266.604%22%20font-size=%2239.581%22%20transform=%22scale(.57932%201.72617)%22%20font-weight=%22700%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22#fd5%22%20stroke-width=%221.035%22%3E%3Ctspan%20x=%2285.938%22%20y=%2266.604%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3EManager%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1576346738381 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "b7e0e015-f1ca-4fd1-b348-40b472623f79", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 576, + "y": -216 + } + }, + { + "id": "1f6210ec-36a2-4fef-943d-8cce9862aa9f", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -96, + "y": -72 + } + }, + { + "id": "8f9445bd-eb18-499c-8e12-6d146e6fab02", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wmem", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 104, + "y": -72 + } + }, + { + "id": "04413c51-81f4-43ab-a30a-f9bf721e3812", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -440, + "y": -72 + } + }, + { + "id": "893631dd-ff6f-493a-a0da-4ab8f64b52de", + "type": "basic.output", + "data": { + "name": "busy", + "virtual": true + }, + "position": { + "x": 1336, + "y": 8 + } + }, + { + "id": "7340a8c0-ce50-4bba-b848-6b55aacedbfc", + "type": "basic.input", + "data": { + "name": "x0", + "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, + "clock": false + }, + "position": { + "x": -440, + "y": 40 + } + }, + { + "id": "9fbebb88-8a29-4411-99a1-2e261ede38f7", + "type": "basic.input", + "data": { + "name": "y0", + "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, + "clock": false + }, + "position": { + "x": -440, + "y": 72 + } + }, + { + "id": "27780318-cff6-43ea-ab62-6cc372ebc4dd", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1336, + "y": 88 + } + }, + { + "id": "25513a5c-6c5e-4b4a-a97e-d8066149819f", + "type": "basic.input", + "data": { + "name": "x1", + "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, + "clock": false + }, + "position": { + "x": -440, + "y": 104 + } + }, + { + "id": "0d8ceeb5-907f-4523-a399-1736a903810f", + "type": "basic.input", + "data": { + "name": "y1", + "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, + "clock": false + }, + "position": { + "x": -440, + "y": 136 + } + }, + { + "id": "d3574a2a-7808-45a5-ac0d-2cff13ad67b4", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wexe", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -440, + "y": 168 + } + }, + { + "id": "0745c853-adf9-4de2-827d-8b55f9ae52ff", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wexe", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 936, + "y": 200 + } + }, + { + "id": "263cbd08-4681-4ac4-8cf5-998deeb69a03", + "type": "basic.input", + "data": { + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": -648, + "y": 216 + } + }, + { + "id": "05db53d4-9b74-44ae-8b02-04608cd953e1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wmem", + "oldBlockColor": "navy", + "virtual": true + }, + "position": { + "x": 104, + "y": 224 + } + }, + { + "id": "3a659afa-5975-4429-9870-178686867f72", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 104, + "y": 296 + } + }, + { + "id": "feca26ef-90b7-47eb-950e-0a42c870ee69", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -304, + "y": 296 + } + }, + { + "id": "33d919a8-04d5-48bc-9631-7813b2404f21", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 1336, + "y": 312 + } + }, + { + "id": "f1620d41-6f91-4816-b2f8-1a427cd8ec7b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec" + }, + "position": { + "x": 1160, + "y": 312 + } + }, + { + "id": "17753090-559f-4029-b7da-ee2d3fec23eb", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1336, + "y": 360 + } + }, + { + "id": "32a4ca47-5f58-4d8a-a1a4-84ddbb8a6837", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1160, + "y": 360 + } + }, + { + "id": "ec3ad5f3-d445-40c3-a9b8-54cdee555339", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "load", + "oldBlockColor": "navy", + "virtual": true + }, + "position": { + "x": 744, + "y": 368 + } + }, + { + "id": "68767508-d5f7-4899-babf-9c70942b7922", + "type": "basic.input", + "data": { + "name": "initic", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": -440, + "y": 376 + } + }, + { + "id": "34ba5b2c-114c-45cf-9dbf-7019105a130a", + "type": "basic.output", + "data": { + "name": "ln_sel", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1336, + "y": 408 + } + }, + { + "id": "e4c37c13-3c37-479b-acca-84947916fade", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1160, + "y": 408 + } + }, + { + "id": "46fd0ede-4e8e-4262-acde-6fef58479b72", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "navy", + "virtual": true + }, + "position": { + "x": 744, + "y": 416 + } + }, + { + "id": "285f0c3c-afe4-4881-b227-fc37b4765fd7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 104, + "y": 424 + } + }, + { + "id": "a2a9b04d-888d-4fd3-b1ae-13516d8c9d59", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false + }, + "position": { + "x": -440, + "y": 424 + } + }, + { + "id": "cb5c5c89-ac2e-4d48-ae77-a09139673bd7", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": -440, + "y": 472 + } + }, + { + "id": "7dd8276e-e643-4d91-bc6f-1ac7f24f0270", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 104, + "y": 480 + } + }, + { + "id": "b9945084-4250-4582-bb34-a9c6f2ea9537", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" + }, + "position": { + "x": 936, + "y": 488 + } + }, + { + "id": "2442bd6e-1dee-4798-a66f-69c0a2536340", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "load", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "navy" + }, + "position": { + "x": -96, + "y": 496 + } + }, + { + "id": "bba39aad-0aaf-4ec1-a3c3-a6635960d4a7", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wmem", + "oldBlockColor": "navy", + "virtual": true + }, + "position": { + "x": 936, + "y": 552 + } + }, + { + "id": "72245d3c-d9da-4529-b7c9-59b9c0de6178", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -96, + "y": 600 + } + }, + { + "id": "f47c3a24-d737-487f-bcdb-36e3c34b24ee", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "wexe", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -96, + "y": 680 + } + }, + { + "id": "22988f99-1549-41d4-9a98-a18ee762c89f", + "type": "basic.constant", + "data": { + "name": "command", + "value": "'h40", + "local": true + }, + "position": { + "x": 744, + "y": -152 + } + }, + { + "id": "966e138c-6b75-419e-b1a2-d49b1c0404f6", + "type": "basic.constant", + "data": { + "name": "address", + "value": "'h78", + "local": true + }, + "position": { + "x": 936, + "y": -152 + } + }, + { + "id": "94b22771-18f8-4888-b190-1bb051581d2c", + "type": "cfd1a4e8b7bae4427c9286db89413e5ff12dc27f", + "position": { + "x": 104, + "y": 360 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "type": "522d4973b27c1c3624d4e4862a3d1813e32fc92b", + "position": { + "x": 936, + "y": 40 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "b68d842d-dedf-499b-8419-8e0004bf7767", + "type": "522d4973b27c1c3624d4e4862a3d1813e32fc92b", + "position": { + "x": 1160, + "y": 40 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "f0c9e23f-a7b2-4911-bd7a-857343ba5c00", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", + "position": { + "x": 744, + "y": -48 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "1a057779-5642-4427-8d62-a6323da8b2ed", + "type": "5ad97e1e35a295d0ec722addd6df97c806fc6b7c", + "position": { + "x": 936, + "y": -48 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "type": "c78d2b565ee969b3065c45f7af322c4fe480018e", + "position": { + "x": -96, + "y": 344 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "b733ce57-a732-448d-96f3-91a5abd9048c", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": -304, + "y": 360 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "39092380-dffc-4173-84ee-ff8be2e79b63", + "type": "20f0ca607de9752267ba60e7f0a152c4fac0596f", + "position": { + "x": 104, + "y": 608 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "ef50302b-30bd-4a56-9d3a-ec5a0398305f", + "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", + "position": { + "x": 488, + "y": 72 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "f04358b7-549d-47fb-b146-d8fe11f383ab", + "type": "304f86804b99cd01295bd8189ecebc72bae8879e", + "position": { + "x": 488, + "y": 208 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ae8f81c5-864c-4d86-8a00-35edaa4352e1", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 488, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "type": "07caa4aca02e84d1fb929a89233b9961262bb7b1", + "position": { + "x": 744, + "y": 72 + }, + "size": { + "width": 96, + "height": 192 + } + }, + { + "id": "d13818d9-c967-4b35-917e-aff6dee0a930", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1160, + "y": 504 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "type": "856dcbd899589a40784f4e1aa85bb4d2b84c4638", + "position": { + "x": -96, + "y": 24 + }, + "size": { + "width": 96, + "height": 224 + } + }, + { + "id": "426313cb-ae00-4dc0-aaf7-a6bc1d03e51f", + "type": "basic.info", + "data": { + "info": "Depending on the position (x, y) it calculates the data (byte) and the memory location to be saved.", + "readonly": true + }, + "position": { + "x": 104, + "y": 0 + }, + "size": { + "width": 328, + "height": 32 + } + }, + { + "id": "1f4578ca-1042-4949-93f5-6910745283e2", + "type": "80c0a564fd327f0f481ce4233b4b07601d4243af", + "position": { + "x": 104, + "y": 72 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e0f00dba-edd4-4c12-804f-340be60796ca", + "type": "basic.info", + "data": { + "info": "The memory content is dumped on the OLED screen.", + "readonly": true + }, + "position": { + "x": -104, + "y": 280 + }, + "size": { + "width": 184, + "height": 32 + } + }, + { + "id": "6b436c1e-431d-4f54-ad0f-aeadd92692e5", + "type": "basic.info", + "data": { + "info": "Memory manager", + "readonly": true + }, + "position": { + "x": 744, + "y": 272 + }, + "size": { + "width": 112, + "height": 32 + } + }, + { + "id": "5bc0d4c0-454c-44c0-9e24-c897acacf63c", + "type": "basic.info", + "data": { + "info": "Bresenham line algorithm", + "readonly": true + }, + "position": { + "x": -96, + "y": -16 + }, + "size": { + "width": 168, + "height": 32 + } + }, + { + "id": "468d177e-a9e9-4dcf-9878-b608156f3c6e", + "type": "basic.info", + "data": { + "info": "This counting machine is responsible for clearing the memory (everything to 0).", + "readonly": true + }, + "position": { + "x": 256, + "y": 712 + }, + "size": { + "width": 288, + "height": 32 + } + }, + { + "id": "412f42f5-dc73-4a65-9e69-c9e5f2a48748", + "type": "basic.info", + "data": { + "info": "## The process is the following: \r\n** 1.) First clear the memory completely.** \r\n** 2.) Calculates and stores in memory the line to be displayed later.** \r\n** 3.) Send the contents of the memory to the OLED screen.** ", + "readonly": true + }, + "position": { + "x": -432, + "y": -192 + }, + "size": { + "width": 416, + "height": 32 + } + }, + { + "id": "463da03c-8b3a-4778-9331-594ed9688ac8", + "type": "basic.info", + "data": { + "info": "Address and command for I2C", + "readonly": true + }, + "position": { + "x": 1128, + "y": -120 + }, + "size": { + "width": 192, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + }, + "target": { + "block": "3a659afa-5975-4429-9870-178686867f72", + "port": "inlabel" + }, + "vertices": [ + { + "x": 80, + "y": 360 + } + ] + }, + { + "source": { + "block": "ec3ad5f3-d445-40c3-a9b8-54cdee555339", + "port": "outlabel" + }, + "target": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + }, + "vertices": [ + { + "x": 888, + "y": 328 + } + ] + }, + { + "source": { + "block": "ec3ad5f3-d445-40c3-a9b8-54cdee555339", + "port": "outlabel" + }, + "target": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + }, + "vertices": [ + { + "x": 1080, + "y": 336 + } + ] + }, + { + "source": { + "block": "46fd0ede-4e8e-4262-acde-6fef58479b72", + "port": "outlabel" + }, + "target": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "a30b3827-4cc9-4f64-bcc3-7762a4340a33" + }, + "vertices": [ + { + "x": 912, + "y": 288 + } + ] + }, + { + "source": { + "block": "46fd0ede-4e8e-4262-acde-6fef58479b72", + "port": "outlabel" + }, + "target": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "a30b3827-4cc9-4f64-bcc3-7762a4340a33" + }, + "vertices": [ + { + "x": 1104, + "y": 328 + } + ] + }, + { + "source": { + "block": "f1620d41-6f91-4816-b2f8-1a427cd8ec7b", + "port": "outlabel" + }, + "target": { + "block": "33d919a8-04d5-48bc-9631-7813b2404f21", + "port": "in" + } + }, + { + "source": { + "block": "32a4ca47-5f58-4d8a-a1a4-84ddbb8a6837", + "port": "outlabel" + }, + "target": { + "block": "17753090-559f-4029-b7da-ee2d3fec23eb", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "04413c51-81f4-43ab-a30a-f9bf721e3812", + "port": "out" + }, + "target": { + "block": "1f6210ec-36a2-4fef-943d-8cce9862aa9f", + "port": "inlabel" + } + }, + { + "source": { + "block": "feca26ef-90b7-47eb-950e-0a42c870ee69", + "port": "outlabel" + }, + "target": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + } + }, + { + "source": { + "block": "b7e0e015-f1ca-4fd1-b348-40b472623f79", + "port": "outlabel" + }, + "target": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + }, + "vertices": [ + { + "x": 912, + "y": -56 + } + ] + }, + { + "source": { + "block": "b7e0e015-f1ca-4fd1-b348-40b472623f79", + "port": "outlabel" + }, + "target": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + }, + "vertices": [ + { + "x": 1104, + "y": -48 + } + ] + }, + { + "source": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "285f0c3c-afe4-4881-b227-fc37b4765fd7", + "port": "inlabel" + }, + "vertices": [ + { + "x": 88, + "y": 432 + } + ] + }, + { + "source": { + "block": "d3574a2a-7808-45a5-ac0d-2cff13ad67b4", + "port": "outlabel" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "b3c834ae-4597-4739-8f92-21d63dd0ebce" + } + }, + { + "source": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "36b13681-d13a-492d-824e-526b4168c891" + }, + "target": { + "block": "0745c853-adf9-4de2-827d-8b55f9ae52ff", + "port": "inlabel" + }, + "vertices": [ + { + "x": 864, + "y": 224 + } + ] + }, + { + "source": { + "block": "e4c37c13-3c37-479b-acca-84947916fade", + "port": "outlabel" + }, + "target": { + "block": "34ba5b2c-114c-45cf-9dbf-7019105a130a", + "port": "in" + } + }, + { + "source": { + "block": "b733ce57-a732-448d-96f3-91a5abd9048c", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "2442bd6e-1dee-4798-a66f-69c0a2536340", + "port": "inlabel" + }, + "vertices": [ + { + "x": -160, + "y": 472 + } + ] + }, + { + "source": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "5f2b6780-a057-4eac-8fe9-d526989a4aee" + }, + "target": { + "block": "8f9445bd-eb18-499c-8e12-6d146e6fab02", + "port": "inlabel" + } + }, + { + "source": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + }, + "target": { + "block": "7dd8276e-e643-4d91-bc6f-1ac7f24f0270", + "port": "inlabel" + }, + "vertices": [ + { + "x": 56, + "y": 472 + } + ] + }, + { + "source": { + "block": "b7e0e015-f1ca-4fd1-b348-40b472623f79", + "port": "outlabel" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "f149644b-68ea-4e9f-bc3b-a84b368513de" + } + }, + { + "source": { + "block": "05db53d4-9b74-44ae-8b02-04608cd953e1", + "port": "outlabel" + }, + "target": { + "block": "f04358b7-549d-47fb-b146-d8fe11f383ab", + "port": "bba45940-204d-4df3-821d-1e22a0f97376" + } + }, + { + "source": { + "block": "05db53d4-9b74-44ae-8b02-04608cd953e1", + "port": "outlabel" + }, + "target": { + "block": "ef50302b-30bd-4a56-9d3a-ec5a0398305f", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + } + }, + { + "source": { + "block": "f47c3a24-d737-487f-bcdb-36e3c34b24ee", + "port": "outlabel" + }, + "target": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + } + }, + { + "source": { + "block": "72245d3c-d9da-4529-b7c9-59b9c0de6178", + "port": "outlabel" + }, + "target": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + } + }, + { + "source": { + "block": "b9945084-4250-4582-bb34-a9c6f2ea9537", + "port": "outlabel" + }, + "target": { + "block": "d13818d9-c967-4b35-917e-aff6dee0a930", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "bba39aad-0aaf-4ec1-a3c3-a6635960d4a7", + "port": "outlabel" + }, + "target": { + "block": "d13818d9-c967-4b35-917e-aff6dee0a930", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "187a6283-a6af-49d5-8ddc-fa4b3993bbc9" + }, + "target": { + "block": "94b22771-18f8-4888-b190-1bb051581d2c", + "port": "caeeadfa-841c-4277-886e-364c3ca28e43" + }, + "size": 14 + }, + { + "source": { + "block": "cb5c5c89-ac2e-4d48-ae77-a09139673bd7", + "port": "out" + }, + "target": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + }, + "vertices": [] + }, + { + "source": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021" + }, + "target": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "size": 8 + }, + { + "source": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021" + }, + "target": { + "block": "27780318-cff6-43ea-ab62-6cc372ebc4dd", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "f0c9e23f-a7b2-4911-bd7a-857343ba5c00", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "6c30e156-4ca7-400a-9961-65454ab17e07" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "1a057779-5642-4427-8d62-a6323da8b2ed", + "port": "a9d6830d-5cc7-4f63-a068-35181d2537bc" + }, + "target": { + "block": "b68d842d-dedf-499b-8419-8e0004bf7767", + "port": "6c30e156-4ca7-400a-9961-65454ab17e07" + }, + "vertices": [ + { + "x": 1080, + "y": 72 + } + ], + "size": 8 + }, + { + "source": { + "block": "22988f99-1549-41d4-9a98-a18ee762c89f", + "port": "constant-out" + }, + "target": { + "block": "f0c9e23f-a7b2-4911-bd7a-857343ba5c00", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "966e138c-6b75-419e-b1a2-d49b1c0404f6", + "port": "constant-out" + }, + "target": { + "block": "1a057779-5642-4427-8d62-a6323da8b2ed", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "94b22771-18f8-4888-b190-1bb051581d2c", + "port": "9f9c3c91-1019-4126-a021-ef3a7b7711fc" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "7c57173b-a901-4041-baaf-4126ccac986e" + }, + "vertices": [ + { + "x": 664, + "y": 288 + } + ], + "size": 10 + }, + { + "source": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "42728e8b-acae-4001-833f-fccc06e477ec" + }, + "target": { + "block": "1f4578ca-1042-4949-93f5-6910745283e2", + "port": "b2a380b5-21a5-44d8-99cd-b5046a6207e2" + }, + "size": 8 + }, + { + "source": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "79900997-9c95-4e73-bca4-3f521ab6c01b" + }, + "target": { + "block": "1f4578ca-1042-4949-93f5-6910745283e2", + "port": "75abd681-6a7e-49b0-82fa-ff67c7c28f12" + }, + "size": 8 + }, + { + "source": { + "block": "0d8ceeb5-907f-4523-a399-1736a903810f", + "port": "out" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "f26494be-bac5-420f-9eb1-fb408f3b288a" + }, + "size": 8 + }, + { + "source": { + "block": "25513a5c-6c5e-4b4a-a97e-d8066149819f", + "port": "out" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "498de486-3e9c-45bc-ad28-a8d0375ee072" + }, + "size": 8 + }, + { + "source": { + "block": "9fbebb88-8a29-4411-99a1-2e261ede38f7", + "port": "out" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "f676657e-ee81-4ec7-addc-5f45f30e9b23" + }, + "size": 8 + }, + { + "source": { + "block": "7340a8c0-ce50-4bba-b848-6b55aacedbfc", + "port": "out" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "0bb3212b-7ce7-40ff-948e-df4f36c71b78" + }, + "size": 8 + }, + { + "source": { + "block": "04413c51-81f4-43ab-a30a-f9bf721e3812", + "port": "out" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "80585c98-f200-47dc-b488-61c60fb9a3f1" + } + }, + { + "source": { + "block": "b733ce57-a732-448d-96f3-91a5abd9048c", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + } + }, + { + "source": { + "block": "68767508-d5f7-4899-babf-9c70942b7922", + "port": "out" + }, + "target": { + "block": "b733ce57-a732-448d-96f3-91a5abd9048c", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "a2a9b04d-888d-4fd3-b1ae-13516d8c9d59", + "port": "out" + }, + "target": { + "block": "e07ae39e-733d-4f34-80a0-28bb14d195c5", + "port": "89114256-b9b2-42e4-aa2a-009b16813eff" + }, + "vertices": [ + { + "x": -184, + "y": 440 + } + ] + }, + { + "source": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "d5755ad7-baca-4b4c-9bec-3893b8e5fefe" + }, + "target": { + "block": "002a1d95-30be-4d5c-a7b0-5ae20e2cb4f7", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "size": 8 + }, + { + "source": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "4e57f00e-26cb-4231-a09e-76508e6a2682" + }, + "target": { + "block": "b733ce57-a732-448d-96f3-91a5abd9048c", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -328, + "y": 264 + } + ] + }, + { + "source": { + "block": "1f4578ca-1042-4949-93f5-6910745283e2", + "port": "220ab9cf-4fca-4276-a7be-829f17bbad26" + }, + "target": { + "block": "ef50302b-30bd-4a56-9d3a-ec5a0398305f", + "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" + }, + "size": 10 + }, + { + "source": { + "block": "ef50302b-30bd-4a56-9d3a-ec5a0398305f", + "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "230f2299-b408-4955-b69c-f8d12193aa3e" + }, + "vertices": [], + "size": 10 + }, + { + "source": { + "block": "f04358b7-549d-47fb-b146-d8fe11f383ab", + "port": "9ab9a889-682c-48df-b020-7bcb67bd2b67" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "4f6791aa-770f-459b-b75e-c24ba321a643" + }, + "vertices": [ + { + "x": 632, + "y": 184 + } + ], + "size": 8 + }, + { + "source": { + "block": "1f4578ca-1042-4949-93f5-6910745283e2", + "port": "d10795da-37b1-4981-b610-55450a8a8c1c" + }, + "target": { + "block": "f04358b7-549d-47fb-b146-d8fe11f383ab", + "port": "850ab9c4-0a34-4d23-8692-4521a677445f" + }, + "vertices": [ + { + "x": 384, + "y": 176 + } + ], + "size": 8 + }, + { + "source": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "cd4c71a7-14f3-4ca4-806c-ea2ffcd8455e" + }, + "target": { + "block": "ef50302b-30bd-4a56-9d3a-ec5a0398305f", + "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54" + }, + "vertices": [ + { + "x": 416, + "y": 544 + } + ], + "size": 10 + }, + { + "source": { + "block": "263cbd08-4681-4ac4-8cf5-998deeb69a03", + "port": "out" + }, + "target": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + }, + "vertices": [ + { + "x": -496, + "y": 352 + } + ] + }, + { + "source": { + "block": "ae8f81c5-864c-4d86-8a00-35edaa4352e1", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "bfe6e1c8-58ed-4d4c-b30d-e79bf06ea29a" + }, + "vertices": [ + { + "x": 696, + "y": 264 + } + ] + }, + { + "source": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "8ae3d7a6-05e5-46a8-8945-cbb1f9e0b7a8" + }, + "target": { + "block": "ae8f81c5-864c-4d86-8a00-35edaa4352e1", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 352, + "y": 208 + } + ] + }, + { + "source": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + }, + "target": { + "block": "a9e95282-f492-4f0c-95c0-37a9cef32f5b", + "port": "ce0f572f-df6c-4536-a530-0b12269009f9" + }, + "vertices": [ + { + "x": -456, + "y": 752 + } + ] + }, + { + "source": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + }, + "target": { + "block": "2bf11d43-4f33-4d6f-8edc-2e0a4b99dbb8", + "port": "5dfc0a0c-7f80-456b-ac88-28aa84116c88" + } + }, + { + "source": { + "block": "d13818d9-c967-4b35-917e-aff6dee0a930", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "893631dd-ff6f-493a-a0da-4ab8f64b52de", + "port": "in" + }, + "vertices": [ + { + "x": 1304, + "y": 240 + } + ] + }, + { + "source": { + "block": "39092380-dffc-4173-84ee-ff8be2e79b63", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "ae8f81c5-864c-4d86-8a00-35edaa4352e1", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": 448, + "y": 456 + } + ] + } + ] + } + } + }, + "cfd1a4e8b7bae4427c9286db89413e5ff12dc27f": { + "package": { + "name": "Bus14to10", + "version": "0.7.7", + "description": "convierte un bus de 14 bits en 10 bits", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59488%20225.99247%22%3E%3Cpath%20d=%22M164.218%2077.643L103.07%2016.705C92.386%206.25%2078.036.461%2063.11.5H.5v224.992h62.612c14.924.04%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": "caeeadfa-841c-4277-886e-364c3ca28e43", + "type": "basic.input", + "data": { + "name": "i", + "range": "[13:0]", + "pins": [ + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 344, + "y": 248 + } + }, + { + "id": "9f9c3c91-1019-4126-a021-ef3a7b7711fc", + "type": "basic.output", + "data": { + "name": "o", + "range": "[9:0]", + "pins": [ + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1016, + "y": 248 + } + }, + { + "id": "085c3f39-03c8-4e62-8338-220b52fb4887", + "type": "basic.code", + "data": { + "code": "assign b = a;", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "b", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "position": { + "x": 544, + "y": 216 + }, + "size": { + "width": 352, + "height": 120 + } + } + ], + "wires": [ + { + "source": { + "block": "caeeadfa-841c-4277-886e-364c3ca28e43", + "port": "out" + }, + "target": { + "block": "085c3f39-03c8-4e62-8338-220b52fb4887", + "port": "a" + }, + "size": 14 + }, + { + "source": { + "block": "085c3f39-03c8-4e62-8338-220b52fb4887", + "port": "b" + }, + "target": { + "block": "9f9c3c91-1019-4126-a021-ef3a7b7711fc", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "522d4973b27c1c3624d4e4862a3d1813e32fc92b": { + "package": { + "name": "MD2inp", + "version": "0.0.5", + "description": "Registro de 8 bits de doble entrada para cargar.", + "author": "Juan González-Gómez (Obijuan) [Modificado por otro usuario.]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 80, + "y": 176 + } + }, + { + "id": "6c30e156-4ca7-400a-9961-65454ab17e07", + "type": "basic.input", + "data": { + "name": "k", + "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, + "clock": false + }, + "position": { + "x": 80, + "y": 248 + } + }, + { + "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "type": "basic.output", + "data": { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 776, + "y": 312 + } + }, + { + "id": "42b35cc2-aa64-4e66-be42-169958246799", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 80, + "y": 312 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 376 + } + }, + { + "id": "a30b3827-4cc9-4f64-bcc3-7762a4340a33", + "type": "basic.input", + "data": { + "name": "shift", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 80, + "y": 448 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 8;\n\nreg [N-1:0] q;\n\nalways @(posedge clk)\nbegin\n if (ld) q <= k;\n else if (sh) q <= d;\nend", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "k", + "range": "[7:0]", + "size": 8 + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "ld" + }, + { + "name": "sh" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 312, + "height": 336 + } + } + ], + "wires": [ + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "42b35cc2-aa64-4e66-be42-169958246799", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 8 + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + }, + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "ld" + } + }, + { + "source": { + "block": "6c30e156-4ca7-400a-9961-65454ab17e07", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "k" + }, + "size": 8 + }, + { + "source": { + "block": "a30b3827-4cc9-4f64-bcc3-7762a4340a33", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "sh" + } + } + ] + } + } + }, + "5ad97e1e35a295d0ec722addd6df97c806fc6b7c": { + "package": { + "name": "Constante-8bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 8 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.608%22%20height=%22247.927%22%20viewBox=%220%200%20136.50729%20232.43134%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-size=%22335.399%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3Ek%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "type": "basic.output", + "data": { + "name": "k", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 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": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" + } + }, + { + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "a9d6830d-5cc7-4f63-a068-35181d2537bc", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "c78d2b565ee969b3065c45f7af322c4fe480018e": { + "package": { + "name": "count_14_bits_clone CLONE", + "version": "0.7.7-c1580383628603", + "description": "Máquina de contar de 14 bits con entrada de stop.", + "author": "Juan González-Gómez (Obijuan) [Modificado por otro usuario]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 592, + "y": -416 + } + }, + { + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 736, + "y": -416 + } + }, + { + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1416, + "y": -352 + } + }, + { + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 952, + "y": -304 + } + }, + { + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" + }, + "position": { + "x": 1416, + "y": -288 + } + }, + { + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 584, + "y": -224 + } + }, + { + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "busy", + "virtual": true + }, + "position": { + "x": 2312, + "y": -216 + } + }, + { + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": -216 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 952, + "y": -192 + } + }, + { + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 584, + "y": -136 + } + }, + { + "id": "f6cd3a95-fe8a-4e2a-ae26-a55351e561aa", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "pins": [ + { + "index": "13", + "name": "", + "value": "" + }, + { + "index": "12", + "name": "", + "value": "" + }, + { + "index": "11", + "name": "", + "value": "" + }, + { + "index": "10", + "name": "", + "value": "" + }, + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "navy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1824, + "y": -120 + } + }, + { + "id": "06084470-0dca-4714-a264-711cbe8666b3", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "oldBlockColor": "fuchsia", + "size": 14 + }, + "position": { + "x": 1200, + "y": -104 + } + }, + { + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 944, + "y": -72 + } + }, + { + "id": "6e9ebc85-cb4b-4b76-83fe-c8e9cabb7b86", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[13:0]", + "blockColor": "navy", + "size": 14 + }, + "position": { + "x": 2160, + "y": -72 + } + }, + { + "id": "187a6283-a6af-49d5-8ddc-fa4b3993bbc9", + "type": "basic.output", + "data": { + "name": "n", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 2312, + "y": -72 + } + }, + { + "id": "89114256-b9b2-42e4-aa2a-009b16813eff", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false + }, + "position": { + "x": 584, + "y": -40 + } + }, + { + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": 8 + } + }, + { + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 2320, + "y": 8 + } + }, + { + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1472, + "y": 16 + } + }, + { + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 920, + "y": 24 + } + }, + { + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1544, + "y": 136 + } + }, + { + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": 152 + } + }, + { + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": 152 + } + }, + { + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 2312, + "y": 152 + } + }, + { + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1080, + "y": 168 + } + }, + { + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": 616, + "y": 208 + } + }, + { + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1384, + "y": 208 + } + }, + { + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": 272 + } + }, + { + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1384, + "y": 304 + } + }, + { + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" + }, + "position": { + "x": 1680, + "y": 376 + } + }, + { + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 1352, + "y": -208 + } + }, + { + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 1648, + "y": -256 + } + }, + { + "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "position": { + "x": 752, + "y": -168 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "d76d4948-a798-448c-adfa-c03b511371e5", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1544, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "type": "basic.info", + "data": { + "info": "**Reloj del sistema**", + "readonly": true + }, + "position": { + "x": 680, + "y": -472 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", + "data": { + "info": "**Estado de** \n**la máquina**", + "readonly": true + }, + "position": { + "x": 760, + "y": -248 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", + "data": { + "info": "Máquina encendida", + "readonly": true + }, + "position": { + "x": 936, + "y": -328 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true + }, + "position": { + "x": 952, + "y": -232 + }, + "size": { + "width": 152, + "height": 56 + } + }, + { + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true + }, + "position": { + "x": 960, + "y": -96 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true + }, + "position": { + "x": 944, + "y": 0 + }, + "size": { + "width": 120, + "height": 32 + } + }, + { + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true + }, + "position": { + "x": 1480, + "y": -424 + }, + "size": { + "width": 224, + "height": 40 + } + }, + { + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true + }, + "position": { + "x": 1824, + "y": -160 + }, + "size": { + "width": 160, + "height": 56 + } + }, + { + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", + "data": { + "info": "Valor \nincrementado", + "readonly": true + }, + "position": { + "x": 1496, + "y": -120 + }, + "size": { + "width": 128, + "height": 56 + } + }, + { + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", + "data": { + "info": "### Salidas", + "readonly": true + }, + "position": { + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 + } + }, + { + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", + "data": { + "info": "Estado de la máquina", + "readonly": true + }, + "position": { + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", + "data": { + "info": "Ciclo actual", + "readonly": true + }, + "position": { + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", + "data": { + "info": "Cuenta finalizada", + "readonly": true + }, + "position": { + "x": 2152, + "y": 120 + }, + "size": { + "width": 176, + "height": 48 + } + }, + { + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", + "data": { + "info": "Ejecutar el ciclo", + "readonly": true + }, + "position": { + "x": 2160, + "y": -16 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true + }, + "position": { + "x": 648, + "y": 88 + }, + "size": { + "width": 216, + "height": 80 + } + }, + { + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true + }, + "position": { + "x": 920, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true + }, + "position": { + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 + } + }, + { + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", + "data": { + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true + }, + "position": { + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 + } + }, + { + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true + }, + "position": { + "x": 1680, + "y": 128 + }, + "size": { + "width": 208, + "height": 80 + } + }, + { + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true + }, + "position": { + "x": 1384, + "y": 376 + }, + "size": { + "width": 256, + "height": 72 + } + }, + { + "id": "9d12d6a4-f803-4357-a33d-a17e01e5dbad", + "type": "basic.info", + "data": { + "info": "Apagado manual", + "readonly": true + }, + "position": { + "x": 584, + "y": -64 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "type": "85f1f6aeceaafc5d02aa7fc474bac0728374c43c", + "position": { + "x": 1648, + "y": -152 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "3322b8d9-ecf0-4277-934c-f8c4d0a76d3c", + "type": "684c8fda44001f142c7794ce385246ced74c6e41", + "position": { + "x": 1352, + "y": -104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "95ebb5ae-495d-47aa-9b0b-06fc59bd6511", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1992, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" + }, + "target": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + }, + "target": { + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + }, + "target": { + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + }, + "target": { + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" + }, + "vertices": [ + { + "x": 888, + "y": -216 + } + ] + }, + { + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + }, + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" + } + }, + { + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" + }, + "target": { + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "port": "in" + } + }, + { + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" + }, + "target": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + } + }, + { + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" + } + }, + { + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" + }, + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" + } + }, + { + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } + }, + { + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" + }, + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" + } + }, + { + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" + }, + "target": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 280 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" + } + }, + { + "source": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "bec30191-ba7c-496a-8167-74d90c4d1ce9", + "size": 14 + }, + "target": { + "block": "f6cd3a95-fe8a-4e2a-ae26-a55351e561aa", + "port": "inlabel" + }, + "size": 14 + }, + { + "source": { + "block": "6e9ebc85-cb4b-4b76-83fe-c8e9cabb7b86", + "port": "outlabel" + }, + "target": { + "block": "187a6283-a6af-49d5-8ddc-fa4b3993bbc9", + "port": "in", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "06084470-0dca-4714-a264-711cbe8666b3", + "port": "outlabel" + }, + "target": { + "block": "3322b8d9-ecf0-4277-934c-f8c4d0a76d3c", + "port": "6645ad89-d78f-493b-8942-217a0606e53f", + "size": 14 + }, + "size": 14 + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "95ebb5ae-495d-47aa-9b0b-06fc59bd6511", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "95ebb5ae-495d-47aa-9b0b-06fc59bd6511", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" + } + }, + { + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" + }, + "target": { + "block": "3322b8d9-ecf0-4277-934c-f8c4d0a76d3c", + "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" + } + }, + { + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } + }, + { + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "3322b8d9-ecf0-4277-934c-f8c4d0a76d3c", + "port": "5624566f-3416-40fc-8004-6f70328e586e" + }, + "target": { + "block": "4b86ada2-6cd3-47be-8f0f-30beea21b479", + "port": "4976e732-de06-493c-a7f1-00ffc555afa7" + }, + "size": 14 + }, + { + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "95ebb5ae-495d-47aa-9b0b-06fc59bd6511", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "89114256-b9b2-42e4-aa2a-009b16813eff", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" + } + } + ] + } + } + }, + "438dedd956354c574afcde6f0793a7d369b2a031": { + "package": { + "name": "Machine-state", + "version": "0.1", + "description": "Biestable de almacenamiento del estado de la máquina", + "author": "Juan Gonzalez-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22404.343%22%20width=%22319.18%22%20id=%22svg4%22%3E%3Cdefs%20id=%22defs8%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path898%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-53%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-62%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-91%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-2%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-7%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5-3%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5-0%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20id=%22a-2%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path974%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20d=%22M124.728%2079.637c-24.895%200-45.091%2020.196-45.091%2045.109%200%2024.886%2020.196%2045.126%2045.092%2045.126%2024.904%200%2044.952-20.24%2044.952-45.126%200-24.913-20.049-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.979-15.575-19.578%208.04-9.938%2030.421-1.27%204.038h-28.41L98.85%20215.155%2079.27%20207.08l-28.514%2014.462-3.759%201.88-20.092-20.083%2015.559-32.997-8.067-19.56-30.37-9.92L0%20139.555v-28.393L34.362%2098.85l8.067-19.544-14.453-28.533-1.906-3.741%2020.066-20.066%2033.022%2015.55%2019.553-8.084%209.928-30.403L109.92%200h28.401l12.304%2034.38%2019.527%208.084%2028.523-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.456%209.928%204.003%201.28v28.384z%22%20id=%22path2%22%20fill=%22#00f%22%20stroke-width=%22.278%22/%3E%3Cg%20id=%22g992-5%22%20transform=%22matrix(3.23542%200%200%203.23542%20-54.399%20117.43)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g1022%22%20transform=%22matrix(.5585%200%200%20.5585%2076.484%2043.495)%22%3E%3Cg%20transform=%22translate(3.47%203.198)%22%20id=%22layer1%22%3E%3Cpath%20id=%22path9-3%22%20d=%22M21.358%20145.947a63.75%2063.75%200%200%200%201.152%2011.049%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path11%22%20d=%22M48.702%2092.116a64.784%2064.784%200%200%200-12.559%2011.68%2064.99%2064.99%200%200%200-12.69%2024.809%22%20class=%22st1%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20class=%22st1%22%20id=%22line17%22%20fill=%22none%22%20stroke=%22#303030%22%20stroke-width=%226.776%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22%20d=%22M184.865%20207.591L41.298%20262.802%22/%3E%3Cpath%20d=%22M185.448%20175.07l.37.154c2.52.831%204.718%202.386%206.634%204.249%202.02%202.322%203.694%204.777%204.423%208.713%201.496%208.074-3.286%2016.05-10.95%2018.997l-1.06.408L41.298%20262.8l-.733.283c-8.003%203.077-17.551.461-21.82-6.975-3.3-5.748-2.736-12.198.418-21.613%203.155-9.414%202.86-21.856-1.644-33.55l.041.003-12.507-32.667c-12.88-33.415-.747-70.376%2027.41-90.31l-1.102-2.749c-3.685-9.583%201.14-20.438%2010.723-24.124%209.583-3.685%2020.439%201.14%2024.124%2010.723l1.654%203.239c34.881-3.556%2068.594%2015.855%2081.318%2049.33l15.24%2038.432c4.795%208.723%2011.831%2015.955%2021.028%2022.248z%22%20id=%22path21-3%22%20fill=%22#fff%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3Cpath%20id=%22path826%22%20d=%22M64.268%20268.838l45.015-17.115s7.963%2024.296-14.427%2030.38c-22.39%206.086-30.588-13.265-30.588-13.265z%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cg%20id=%22layer3%22%3E%3Crect%20ry=%2219.847%22%20y=%223.671%22%20x=%2295.783%22%20height=%22135.189%22%20width=%22135.189%22%20id=%22rect845%22%20fill=%22#55acee%22%20stroke=%22#303030%22%20stroke-width=%227%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-miterlimit=%2210%22/%3E%3C/g%3E%3Cg%20id=%22layer4%22%3E%3Cpath%20id=%22path7-6%22%20d=%22M172.724%2052.533V27.647h-9.888L144.047%2037.7l2.308%208.9%2014.833-8.076h.33v74.824H172.724V52.533z%22%20class=%22st2%22%20fill=%22#303030%22%20stroke-width=%2214.425%22/%3E%3C/g%3E%3C/g%3E%3Cg%20id=%22g992-5-7%22%20transform=%22matrix(3.23542%200%200%203.23542%20-57.653%2011.124)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-62-5%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-9-3%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0d991cee-b329-439b-b9e7-5712d2db539d", + "type": "basic.output", + "data": { + "name": "state" + }, + "position": { + "x": 960, + "y": 8 + } + }, + { + "id": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "type": "basic.output", + "data": { + "name": "rst" + }, + "position": { + "x": 960, + "y": 120 + } + }, + { + "id": "046501b8-4427-4d4d-af97-7fe807774f33", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 424, + "y": 184 + } + }, + { + "id": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "type": "basic.output", + "data": { + "name": "on" + }, + "position": { + "x": 960, + "y": 256 + } + }, + { + "id": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 424, + "y": 288 + } + }, + { + "id": "ba15eacb-1e03-4580-932b-3231703481e5", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false + }, + "position": { + "x": 424, + "y": 352 + } + }, + { + "id": "3802390d-8417-4369-b93c-dda647ccb0c6", + "type": "basic.output", + "data": { + "name": "off" + }, + "position": { + "x": 960, + "y": 360 + } + }, + { + "id": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 600, + "y": 272 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "03835a1e-c674-4fa3-927b-0511beff772c", + "type": "c386a7076c0569a15326b30b6748ca284426424d", + "position": { + "x": 776, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 736, + "y": 120 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "42f19387-aa1f-4514-88aa-adca9bf9f03b", + "type": "basic.info", + "data": { + "info": "**Tic de apagado**", + "readonly": true + }, + "position": { + "x": 960, + "y": 344 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "eaab4880-4c6d-422f-a8ab-c06e579aa7c6", + "type": "basic.info", + "data": { + "info": "**Tic de encendido**", + "readonly": true + }, + "position": { + "x": 952, + "y": 240 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "4e85996b-c40e-4f84-bfbc-ff87d4bc425d", + "type": "basic.info", + "data": { + "info": "**Inicializar**", + "readonly": true + }, + "position": { + "x": 968, + "y": 96 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "130f81c9-ce87-47a8-b393-762b31a724fc", + "type": "basic.info", + "data": { + "info": "**Estado de la máquina**", + "readonly": true + }, + "position": { + "x": 936, + "y": -16 + }, + "size": { + "width": 168, + "height": 40 + } + } + ], + "wires": [ + { + "source": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "03835a1e-c674-4fa3-927b-0511beff772c", + "port": "9ca5353b-32fd-4f1f-af0b-5339bd50b1ff" + } + }, + { + "source": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "0d991cee-b329-439b-b9e7-5712d2db539d", + "port": "in" + }, + "vertices": [ + { + "x": 720, + "y": 144 + } + ] + }, + { + "source": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "de860182-e038-4198-b4a4-505dd7a6fa9e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "89a5da53-cc8b-4099-a5e3-b9cf281619b1", + "port": "in" + } + }, + { + "source": { + "block": "88176871-35ac-42bf-bf62-36c81a4b4b47", + "port": "out" + }, + "target": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "ba15eacb-1e03-4580-932b-3231703481e5", + "port": "out" + }, + "target": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "03835a1e-c674-4fa3-927b-0511beff772c", + "port": "1c25e08e-e664-4fab-9b30-cedc1f8a3739" + }, + "target": { + "block": "aefe9248-3b3d-441b-9e65-33cda65b99dd", + "port": "in" + } + }, + { + "source": { + "block": "03835a1e-c674-4fa3-927b-0511beff772c", + "port": "3ada5999-55ba-4c4e-9877-a3e9ed82308c" + }, + "target": { + "block": "3802390d-8417-4369-b93c-dda647ccb0c6", + "port": "in" + } + }, + { + "source": { + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" + }, + "target": { + "block": "66f5f40c-d14b-4be3-96b6-6cea8d96b738", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "046501b8-4427-4d4d-af97-7fe807774f33", + "port": "out" + }, + "target": { + "block": "03835a1e-c674-4fa3-927b-0511beff772c", + "port": "2708468d-1088-4570-be63-fb0d4799a941" + } + } + ] + } + } + }, + "85f1f6aeceaafc5d02aa7fc474bac0728374c43c": { + "package": { + "name": "Registro-14", + "version": "0.1", + "description": "Registro de 14 bits con entrada de reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 80, + "y": 168 + } + }, + { + "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 80, + "y": 216 + } + }, + { + "id": "bec30191-ba7c-496a-8167-74d90c4d1ce9", + "type": "basic.output", + "data": { + "name": "q", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 632, + "y": 248 + } + }, + { + "id": "4976e732-de06-493c-a7f1-00ffc555afa7", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, + "position": { + "x": 80, + "y": 272 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 320 + } + }, + { + "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 376, + "y": 56 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 14;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[13:0]", + "size": 14 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[13:0]", + "size": 14 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 288, + "height": 200 + } + } + ], + "wires": [ + { + "source": { + "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "port": "constant-out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "load" + } + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + }, + { + "source": { + "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "rst" + } + }, + { + "source": { + "block": "4976e732-de06-493c-a7f1-00ffc555afa7", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 14 + }, + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "bec30191-ba7c-496a-8167-74d90c4d1ce9", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "684c8fda44001f142c7794ce385246ced74c6e41": { + "package": { + "name": "sum-1op-14bits", + "version": "0.1", + "description": "Sumador de un operando de 14 bits con una constante pasada como parámetro (No hay accarreo)", + "author": "Juan González-Gómez", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5624566f-3416-40fc-8004-6f70328e586e", + "type": "basic.output", + "data": { + "name": "", + "range": "[13:0]", + "size": 14 + }, + "position": { + "x": 672, + "y": 192 + } + }, + { + "id": "6645ad89-d78f-493b-8942-217a0606e53f", + "type": "basic.input", + "data": { + "name": "", + "range": "[13:0]", + "clock": false, + "size": 14 + }, + "position": { + "x": 208, + "y": 192 + } + }, + { + "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 448, + "y": 96 + } + }, + { + "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "type": "basic.code", + "data": { + "code": "assign s = a + k;", + "params": [ + { + "name": "k" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[13:0]", + "size": 14 + } + ], + "out": [ + { + "name": "s", + "range": "[13:0]", + "size": 14 + } + ] + } + }, + "position": { + "x": 384, + "y": 192 + }, + "size": { + "width": 216, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "port": "constant-out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "k" + } + }, + { + "source": { + "block": "6645ad89-d78f-493b-8942-217a0606e53f", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "a" + }, + "size": 14 + }, + { + "source": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "s" + }, + "target": { + "block": "5624566f-3416-40fc-8004-6f70328e586e", + "port": "in" + }, + "size": 14 + } + ] + } + } + }, + "20f0ca607de9752267ba60e7f0a152c4fac0596f": { + "package": { + "name": "count-10bits", + "version": "0.1", + "description": "Máquina de contar, de 10 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 592, + "y": -416 + } + }, + { + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 736, + "y": -416 + } + }, + { + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1416, + "y": -352 + } + }, + { + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 952, + "y": -304 + } + }, + { + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" + }, + "position": { + "x": 1416, + "y": -288 + } + }, + { + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 584, + "y": -224 + } + }, + { + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "Busy" + }, + "position": { + "x": 2312, + "y": -216 + } + }, + { + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": -216 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 952, + "y": -192 + } + }, + { + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 584, + "y": -136 + } + }, + { + "id": "61ddc148-476a-4b12-9411-70994962647e", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "range": "[9:0]", + "pins": [ + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "navy" + }, + "position": { + "x": 1824, + "y": -120 + } + }, + { + "id": "65a9237d-b684-485b-bc02-07992c0a76f9", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[9:0]", + "blockColor": "navy", + "size": 10 + }, + "position": { + "x": 1200, + "y": -104 + } + }, + { + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 944, + "y": -72 + } + }, + { + "id": "cd4c71a7-14f3-4ca4-806c-ea2ffcd8455e", + "type": "basic.output", + "data": { + "name": "n", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": 2312, + "y": -72 + } + }, + { + "id": "c7c4dd33-b5fb-4714-949e-41e615f314c9", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[9:0]", + "blockColor": "navy", + "size": 10 + }, + "position": { + "x": 2160, + "y": -72 + } + }, + { + "id": "45bd338b-4745-4b06-b199-462cdaffa31d", + "type": "basic.outputLabel", + "data": { + "blockColor": "gold", + "name": "stop", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 584, + "y": -24 + } + }, + { + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1472, + "y": 16 + } + }, + { + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 920, + "y": 24 + } + }, + { + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 104 + } + }, + { + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 2328, + "y": 104 + } + }, + { + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1544, + "y": 136 + } + }, + { + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": 152 + } + }, + { + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1080, + "y": 168 + } + }, + { + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": 616, + "y": 208 + } + }, + { + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1384, + "y": 232 + } + }, + { + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 248 + } + }, + { + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 2320, + "y": 248 + } + }, + { + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1952, + "y": 288 + } + }, + { + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1384, + "y": 304 + } + }, + { + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" + }, + "position": { + "x": 1680, + "y": 376 + } + }, + { + "id": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "type": "basic.inputLabel", + "data": { + "blockColor": "gold", + "name": "stop", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1144, + "y": 376 + } + }, + { + "id": "4b458f5c-ba56-489f-ace0-8604d7c9bd4e", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[9:0]", + "blockColor": "navy", + "size": 10 + }, + "position": { + "x": 664, + "y": 536 + } + }, + { + "id": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "type": "basic.constant", + "data": { + "name": "N", + "value": "1024", + "local": false + }, + "position": { + "x": 680, + "y": 344 + } + }, + { + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 1352, + "y": -208 + } + }, + { + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 1648, + "y": -256 + } + }, + { + "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "position": { + "x": 752, + "y": -168 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "d76d4948-a798-448c-adfa-c03b511371e5", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1544, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1016, + "y": 376 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "type": "basic.info", + "data": { + "info": "**Reloj del sistema**", + "readonly": true + }, + "position": { + "x": 680, + "y": -472 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", + "data": { + "info": "**Estado de** \n**la máquina**", + "readonly": true + }, + "position": { + "x": 760, + "y": -248 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", + "data": { + "info": "Máquina encendida", + "readonly": true + }, + "position": { + "x": 936, + "y": -328 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true + }, + "position": { + "x": 952, + "y": -232 + }, + "size": { + "width": 152, + "height": 56 + } + }, + { + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true + }, + "position": { + "x": 960, + "y": -96 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true + }, + "position": { + "x": 944, + "y": 0 + }, + "size": { + "width": 120, + "height": 32 + } + }, + { + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true + }, + "position": { + "x": 1480, + "y": -424 + }, + "size": { + "width": 224, + "height": 40 + } + }, + { + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true + }, + "position": { + "x": 1824, + "y": -160 + }, + "size": { + "width": 160, + "height": 56 + } + }, + { + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", + "data": { + "info": "Valor \nincrementado", + "readonly": true + }, + "position": { + "x": 1496, + "y": -152 + }, + "size": { + "width": 128, + "height": 56 + } + }, + { + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", + "data": { + "info": "### Salidas", + "readonly": true + }, + "position": { + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 + } + }, + { + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", + "data": { + "info": "Estado de la máquina", + "readonly": true + }, + "position": { + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", + "data": { + "info": "Ciclo actual", + "readonly": true + }, + "position": { + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", + "data": { + "info": "Cuenta finalizada", + "readonly": true + }, + "position": { + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 + } + }, + { + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", + "data": { + "info": "Ejecutar el ciclo", + "readonly": true + }, + "position": { + "x": 2168, + "y": 80 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "eae9349c-e15a-4922-8652-1849ae8af424", + "type": "basic.info", + "data": { + "info": "Número de ciclos \na contar", + "readonly": true + }, + "position": { + "x": 696, + "y": 288 + }, + "size": { + "width": 152, + "height": 56 + } + }, + { + "id": "95a0fd91-d4b4-4a8c-a326-fa00aead76a2", + "type": "basic.info", + "data": { + "info": "¿Estamos en el \nciclo k-1?", + "readonly": true + }, + "position": { + "x": 1024, + "y": 480 + }, + "size": { + "width": 144, + "height": 56 + } + }, + { + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true + }, + "position": { + "x": 648, + "y": 88 + }, + "size": { + "width": 216, + "height": 80 + } + }, + { + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true + }, + "position": { + "x": 920, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "f1312a02-2038-404e-b9cf-5f4ee6b11012", + "type": "basic.info", + "data": { + "info": "Si es el ciclo k-1 y \nse pide un ciclo \nnuevo: Terminar", + "readonly": true + }, + "position": { + "x": 1128, + "y": 304 + }, + "size": { + "width": 208, + "height": 72 + } + }, + { + "id": "9baabc30-8c27-4b55-92e4-d59783269162", + "type": "basic.info", + "data": { + "info": "Apagar la \nmáquina", + "readonly": true + }, + "position": { + "x": 600, + "y": -64 + }, + "size": { + "width": 120, + "height": 56 + } + }, + { + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true + }, + "position": { + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 + } + }, + { + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", + "data": { + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true + }, + "position": { + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 + } + }, + { + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true + }, + "position": { + "x": 1688, + "y": 168 + }, + "size": { + "width": 208, + "height": 80 + } + }, + { + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true + }, + "position": { + "x": 1432, + "y": 360 + }, + "size": { + "width": 256, + "height": 72 + } + }, + { + "id": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "type": "99d2a85838a58d6715f7c576a8f9180b6def6b59", + "position": { + "x": 1648, + "y": -152 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "f956c86e-2d83-4df0-b4af-e9fc6f267253", + "type": "fbba02f08350e02f0ee2e5f09fc7f134ddfd8c95", + "position": { + "x": 1352, + "y": -104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d1d79eda-9647-4cdb-a2e0-842765be6281", + "type": "a44734309144090161a20278d2897ce773f5fb30", + "position": { + "x": 856, + "y": 512 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "78f20892-d183-491f-bf85-d82aa78b4e5d", + "type": "7419fa295c20206c197c675d18bc344e0e2c362c", + "position": { + "x": 680, + "y": 448 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" + }, + "target": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "a2b70876-c7c0-4208-a403-eed81e32fe5a" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + }, + "target": { + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + }, + "target": { + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + }, + "target": { + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" + }, + "vertices": [ + { + "x": 888, + "y": -216 + } + ] + }, + { + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "45bd338b-4745-4b06-b199-462cdaffa31d", + "port": "outlabel" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" + } + }, + { + "source": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "2e9e9e82-c651-4a6b-9d9e-4c796699d133", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + }, + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" + } + }, + { + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" + }, + "target": { + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "port": "in" + } + }, + { + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" + }, + "target": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + } + }, + { + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" + } + }, + { + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" + }, + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" + } + }, + { + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } + }, + { + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" + }, + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" + } + }, + { + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" + }, + "target": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 280 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" + } + }, + { + "source": { + "block": "c7c4dd33-b5fb-4714-949e-41e615f314c9", + "port": "outlabel" + }, + "target": { + "block": "cd4c71a7-14f3-4ca4-806c-ea2ffcd8455e", + "port": "in", + "size": 10 + }, + "size": 10 + }, + { + "source": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "35f57b21-a8c0-4bed-9740-0a15d7a49ab4", + "size": 10 + }, + "target": { + "block": "61ddc148-476a-4b12-9411-70994962647e", + "port": "inlabel" + }, + "size": 10 + }, + { + "source": { + "block": "65a9237d-b684-485b-bc02-07992c0a76f9", + "port": "outlabel" + }, + "target": { + "block": "f956c86e-2d83-4df0-b4af-e9fc6f267253", + "port": "ebc6fda0-3aa6-40e2-91ba-abdadc8cbca5", + "size": 10 + }, + "size": 10 + }, + { + "source": { + "block": "4b458f5c-ba56-489f-ace0-8604d7c9bd4e", + "port": "outlabel" + }, + "target": { + "block": "d1d79eda-9647-4cdb-a2e0-842765be6281", + "port": "ff3a7adf-757e-4a4b-b2de-58eed208b684", + "size": 10 + }, + "size": 10 + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" + } + }, + { + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" + }, + "target": { + "block": "f956c86e-2d83-4df0-b4af-e9fc6f267253", + "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" + } + }, + { + "source": { + "block": "d1d79eda-9647-4cdb-a2e0-842765be6281", + "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + }, + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7d6ed080-252a-4f1b-8ec7-0f47d7866317", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d0005413-fea9-4b0b-8a18-9b15d4977bc1", + "port": "constant-out" + }, + "target": { + "block": "78f20892-d183-491f-bf85-d82aa78b4e5d", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } + }, + { + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "f956c86e-2d83-4df0-b4af-e9fc6f267253", + "port": "837371e0-bc63-44df-9985-a12cdbc33c7a" + }, + "target": { + "block": "a84b7918-d9bc-4112-8319-e63ea0b25dff", + "port": "37235a8e-9b6b-431c-af53-5866aadf172f" + }, + "size": 10 + }, + { + "source": { + "block": "78f20892-d183-491f-bf85-d82aa78b4e5d", + "port": "1ef3eb16-a239-4bd3-9349-f2b5a95145f4" + }, + "target": { + "block": "d1d79eda-9647-4cdb-a2e0-842765be6281", + "port": "dea8f75a-3cbd-4008-a6eb-f5fe617af7ba" + }, + "size": 10 + } + ] + } + } + }, + "99d2a85838a58d6715f7c576a8f9180b6def6b59": { + "package": { + "name": "Registro", + "version": "0.1", + "description": "Registro de 10 bits con entrada de reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 80, + "y": 168 + } + }, + { + "id": "a2b70876-c7c0-4208-a403-eed81e32fe5a", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 80, + "y": 216 + } + }, + { + "id": "35f57b21-a8c0-4bed-9740-0a15d7a49ab4", + "type": "basic.output", + "data": { + "name": "q", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": 632, + "y": 248 + } + }, + { + "id": "37235a8e-9b6b-431c-af53-5866aadf172f", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 80, + "y": 272 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 320 + } + }, + { + "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 376, + "y": 56 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 10;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[9:0]", + "size": 10 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 288, + "height": 200 + } + } + ], + "wires": [ + { + "source": { + "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "port": "constant-out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "load" + } + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + }, + { + "source": { + "block": "a2b70876-c7c0-4208-a403-eed81e32fe5a", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "rst" + } + }, + { + "source": { + "block": "37235a8e-9b6b-431c-af53-5866aadf172f", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 10 + }, + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "35f57b21-a8c0-4bed-9740-0a15d7a49ab4", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "fbba02f08350e02f0ee2e5f09fc7f134ddfd8c95": { + "package": { + "name": "sum-1op-10bits", + "version": "0.1", + "description": "Sumador de un operando de 10 bits con una constante pasada como parámetro (No hay accarreo)", + "author": "Juan González-Gómez", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "ebc6fda0-3aa6-40e2-91ba-abdadc8cbca5", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 208, + "y": 192 + } + }, + { + "id": "837371e0-bc63-44df-9985-a12cdbc33c7a", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": 672, + "y": 192 + } + }, + { + "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 448, + "y": 96 + } + }, + { + "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "type": "basic.code", + "data": { + "code": "assign s = a + k;", + "params": [ + { + "name": "k" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[9:0]", + "size": 10 + } + ], + "out": [ + { + "name": "s", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "position": { + "x": 384, + "y": 192 + }, + "size": { + "width": 216, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "port": "constant-out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "k" + } + }, + { + "source": { + "block": "ebc6fda0-3aa6-40e2-91ba-abdadc8cbca5", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "a" + }, + "size": 10 + }, + { + "source": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "s" + }, + "target": { + "block": "837371e0-bc63-44df-9985-a12cdbc33c7a", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "a44734309144090161a20278d2897ce773f5fb30": { + "package": { + "name": "Comparador", + "version": "0.1", + "description": "Comparador de dos operandos de 10 bits. Se compara si el operando es igual al parámetro", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "dea8f75a-3cbd-4008-a6eb-f5fe617af7ba", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 152, + "y": 144 + } + }, + { + "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 616, + "y": 160 + } + }, + { + "id": "ff3a7adf-757e-4a4b-b2de-58eed208b684", + "type": "basic.input", + "data": { + "name": "", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 152, + "y": 208 + } + }, + { + "id": "9c811723-c900-4ceb-9989-036b071ee3fe", + "type": "basic.code", + "data": { + "code": "assign eq = (a == b);", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[9:0]", + "size": 10 + }, + { + "name": "b", + "range": "[9:0]", + "size": 10 + } + ], + "out": [ + { + "name": "eq" + } + ] + } + }, + "position": { + "x": 344, + "y": 160 + }, + "size": { + "width": 224, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "eq" + }, + "target": { + "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "port": "in" + } + }, + { + "source": { + "block": "dea8f75a-3cbd-4008-a6eb-f5fe617af7ba", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "a" + }, + "size": 10 + }, + { + "source": { + "block": "ff3a7adf-757e-4a4b-b2de-58eed208b684", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "b" + }, + "size": 10 + } + ] + } + } + }, + "7419fa295c20206c197c675d18bc344e0e2c362c": { + "package": { + "name": "Constante-10bits", + "version": "0.0.1", + "description": "Valor genérico constante (menos 1), de 10 bits. Su valor se introduce como parámetro. Por defecto vale 0", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22489.056%22%20height=%22247.927%22%20viewBox=%220%200%20458.49013%20232.43134%22%3E%3Ctext%20style=%22line-height:0%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22green%22%20transform=%22translate(-316.929%20-415.913)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%20style=%22line-height:1.25%22%20font-size=%22335.399%22%3Ek-1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "1ef3eb16-a239-4bd3-9349-f2b5a95145f4", + "type": "basic.output", + "data": { + "name": "k", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": 952, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 728, + "y": 112 + } + }, + { + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE-1;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "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": "1ef3eb16-a239-4bd3-9349-f2b5a95145f4", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f": { + "package": { + "name": "10bits-2-1-Mux", + "version": "0.1", + "description": "10 bits, 2-1 Multiplexor", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": -664, + "y": -88 + } + }, + { + "id": "a8e40103-081c-4611-bd1a-6eeda46b33e3", + "type": "basic.output", + "data": { + "name": "", + "range": "[9:0]", + "size": 10 + }, + "position": { + "x": -88, + "y": 0 + } + }, + { + "id": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": -664, + "y": 0 + } + }, + { + "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": -656, + "y": 88 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "\nreg [9:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[9:0]", + "size": 10 + }, + { + "name": "i0", + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 304, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "sel" + } + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "a8e40103-081c-4611-bd1a-6eeda46b33e3", + "port": "in" + }, + "size": 10 + }, + { + "source": { + "block": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "size": 10 + }, + { + "source": { + "block": "b0100e99-7b7f-4731-9a87-6e3ac76eea54", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 10 + } + ] + } + } + }, + "304f86804b99cd01295bd8189ecebc72bae8879e": { + "package": { + "name": "AND-8-en", + "version": "0.1", + "description": "Habilitación de bus de 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22191.816%22%20height=%22194.045%22%20version=%221%22%3E%3Cpath%20d=%22M100.352%20190.045H4V4h96.352s87.464%208.625%2087.464%2091.94c0%2083.311-87.464%2094.105-87.464%2094.105z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20x=%2218.59%22%20y=%22114.587%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=%2218.59%22%20y=%22114.587%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2258.054%22%3EAND%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "850ab9c4-0a34-4d23-8692-4521a677445f", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 88, + "y": 136 + } + }, + { + "id": "9ab9a889-682c-48df-b020-7bcb67bd2b67", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 664, + "y": 184 + } + }, + { + "id": "bba45940-204d-4df3-821d-1e22a0f97376", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 96, + "y": 224 + } + }, + { + "id": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "type": "basic.code", + "data": { + "code": "assign o[0] = a[0] & b;\nassign o[1] = a[1] & b;\nassign o[2] = a[2] & b;\nassign o[3] = a[3] & b;\nassign o[4] = a[4] & b;\nassign o[5] = a[5] & b;\nassign o[6] = a[6] & b;\nassign o[7] = a[7] & b;", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[7:0]", + "size": 8 + }, + { + "name": "b" + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 256, + "y": 120 + }, + "size": { + "width": 344, + "height": 184 + } + } + ], + "wires": [ + { + "source": { + "block": "bba45940-204d-4df3-821d-1e22a0f97376", + "port": "out" + }, + "target": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "b" + } + }, + { + "source": { + "block": "850ab9c4-0a34-4d23-8692-4521a677445f", + "port": "out" + }, + "target": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "a" + }, + "size": 8 + }, + { + "source": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "o" + }, + "target": { + "block": "9ab9a889-682c-48df-b020-7bcb67bd2b67", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "07caa4aca02e84d1fb929a89233b9961262bb7b1": { + "package": { + "name": "Memory_Manager_read_write_erase", + "version": "0.1", + "description": "Memory management for reading, writing & erase.", + "author": "Democrito", + "image": "%3Csvg%20width=%22225%22%20height=%22225%22%20viewBox=%220%200%2059.53125%2059.53125%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cimage%20width=%2259.531%22%20height=%2259.531%22%20preserveAspectRatio=%22none%22%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAABYlBMVEVNYyP///8+UCDtmoqKk8Gp%20qfevVk/ztJ3OeW1BVCCnp/ekpPftmYk4UwCtrfc/WADTfnGBi73gjX5HXheNlsjolIVDWw7wmoj8%20/P/7uKK0VlHu7v0oPwDs7uhKYRXT0/vn5/3XjXwwTBddcDjR1sna2vuzs/jqp5LIzOGWnsfMzPrB%20wfn29v66uvhkdkVRZigkPAB1hVqlr5aFkm+5wK2ts9OUoILd3+wvRAA1UB3Eyrx/jWjf4tny9PCG%20kLh4hZjJl6CTe1u7lqk1SRCrtJ1abU5ldmlwfoV+iaRfcVpIXwBVaTzCx96nrc/us6KqjWjLnoC2%20j3KtnbamlbPdp4y9hG2Ea0t2gWa/aV+MlYBnYC+fVUhbUSxrenhvfIpXZldbaWRIWDqeiYGEeklV%20WzDbq6VqbznYmZekj6ywhJXBfoBvZEBOVyuYcFbimZHEh3KPWkByXzOxb11uUjRbYSmTVENudMkp%20AAAU50lEQVR4nNWdi1vbOLbA4yRDIA8c4jwIlPAu0EIyPJqWFChDoS/amU4L7XDpzL27053Hlm57%20b3f+/ytbki1bsq0jyyl7vv32W7yprZ/PW5LtjJG67M8sDXa2+tub3e5ir5fp9Ra73c3t/tbOYGlm%20P/3LZ9I8+czSTr/bMyum2WxaVoYVy2o2TfT/9Lr9naVUOdMi3B9sbSKAIBgvCBX9bnNrMJPSSNIg%203B9s95Da4th8nEihvf4gDWVqJ1zqL1ZMCByDaVYW+0u6B6SXcLCNdKdE51E2twdax6SRcHDfVFQe%20D6lRk7oI9/pNLXgU0trSFXn0EO4sVvThYWlWujtaxqaBcH/LNDXjOWKZ5paG4JqYcGY7YWyJkqa5%20ndhYExLu3ddunn6xKvf3viLh3n2N0SWU0UzGmIBwJm39uYyV+wlsVZ2wPwT9uYxmf+iEO1Z68UUk%20TUs1d6gR7i2mkh8ixVxUc0clwn5l6Hy2VJRMVYFwKTNcA/WkmVGoV+GEX0mBWBTUCCXc630tBWJp%209qDeCCTc+poKxFLZSpFwvzv8EMqL2QXV4xDCJdDUS3piNSEBB0B4/PUtlErlOA3CzetgoVTM+9oJ%209xe/bgwNSnNR1hklCfc618MFPbE6kmlDjnDpOlkoFVMu3kgR7lyfGMNKRardkCG8poCSiBKE1yhL%20BEUma8QTXoNCLVwkSrhYwmsNKIMYR3iNTRRLrKHGEF7bIONJXLiJJhxcf0CEGL0aF0m49J8AiBAj%20U38U4cx1rGREYkZNGEcQ7n/tgQMkogyPIFy8bsV2uFhdFcL716tdipZmeL8YSnj8n+KEWMzQtBhG%20mEIYtTqdzrNn9n86KXSboQE1hHBfr4lanWedk0ePHzw5sOXJg8ePTtARvZjNkGgTQtjVeHWrk3n6%20+EkdSZ6K/ceTx08zOiHDoo2YcEufE3aenTzIM3B5BjP/4ORZR9uVTHERLiTU54SdzqMDEZ1LefCo%20o42xIpy5ERLquqTV+TmSDzP+rM1We7KE25rCzLOnQb4JLEHGp8/0XLC5LUeoyUY7p0/qPrj82p3n%20q6t3V1ef31nL+zDrT071mKooZQgI9djMs0d1Fu/O6rrvIuurd1jI+iM9arRkCPtabLTzwAOceHFX%20YD2GcfeFx1h/oEWLTX4FlSPc02OjnoVO3Fnnrupq8o7LWH+i5bp8POUIdXQUVu/A45sM5bNl0mM8%206Onwj8U4wh0Nud46dfnWwvXn6nGNMh6cakA0g9M2QUIdt9HV4MSqX1/Tc8uzs7PLc9N+va66alzU%20cPVgsAkQ6ggzlmui08yZ526NF0tI8H+N35pj/r9p11CTXz3TDBRvfkIdMzMdGmTWPE1N3/qmVPyG%20lWLpm1veDZhco+FGQ0QNzNr4Ce8nN9Jnv9RJinDPun47gEchb3teShJH/ZfkedHy9/s+Qg2ZovPf%20VIPuWWeFfJhx1v0V1eLT5Fr0ZwwfoQYVZvMBwOnxUgifLaXx6QBivpd4DNZmGOFeci+sUCekPrjM%208BWdKGMHGkappWXyy0la3CS3U3MvhDC5CseIjU7QMu2WB1gqbszOTa+vr0/PzW4UmePUUu8SVzxJ%20PAyfEhnC5F449hAnionnQcBi6eYymwQnl2+63lm6RQ4+x4gHGjyRCacM4XbSezf28H/qPid0AUsb%20bGrEMnezFNQidsX6o+RKZBpFj3A/qReOZe8d+GyU+mCxyKZ3T5apGktzPjs90OCJnhI9wq2E5cxY%20lqrwDj7hNAW8yRSn07cZba7fpIjkF3dIxkisRKaL8ggTqnAsm733BKuQDHecjP42q7fx0jj750aR%203ASCjJWoobIxecKETQUCzP4Nq5AUM7NYhcUNn2WOF32EFJHmjBdYiafJCd0WwyXsJgZ8iOs1osLJ%20kk87YYRU00UcaacdJdYfJ1eiOz9MCZOlChuQxhkSSG8VfR4WSrhe8qWMNV2xxi3dKGE/iXM7gMRI%20SU9IVOhWLKGENOKWsBJxr6jBTC0aayhhkkCKAUkkJUZKxh2wURGhcZO9FzjW1H9OXiE3/YSDBHEG%20A2YfPmCN9KYv0UUSzvluBjZTDTNvdOsiIUxQkhJA6oa4YCPexdGICEmwIR77XFflRttETJignqGA%202Yd1pp7BRsq0f1GEOK8QM8V1TV1Hr7/PEKobqQs49jfWDW8XRYE0hBArvIgrg3VdoSZjDhhCZSN1%20AbO0ZGMNj4cREvp/rav6pmaKCVUjqQeYffi47gWaySKjlXhCrHGS9NdwMNVgpk2PUHUbNwNIK5oX%20jN0J3FBMOMva9AtdVQ2Jpg6h4iwpC0iTBe4rptnYEU9I4hLuOnB/8YsOHfZdQrWpZh+gn3AOz8cI%202kIhIc6I5Od3dCVEsoZhE84o1aR+QD/h+pwjgkWLjdIGfzAtQmcywyZUapwCgH7CcJmcE6xFpUXo%20tFA2ocoETRDQH2mA4vNDHGl0+CGerrEJFeZgOUApwulxQXQ1aKelPZbizRkZpeUYHjBLMv6aEIEA%20lool4XopbvSL+I+8tnyIJ6QyKiUbD7iQ/fB3XLWFL/miFFIS1ABIikxzMYmrtr//mtGxXDpwCMGT%20bBzgwvuXhfb3E+w0FAQQB5oi7vJxXTrxfbvw8t/Jp9y2HELoLj0e8Id2u1Ao5JkWHwJIy3QcSsmC%20MDpfu/1D0vVaezdfBjyNyAOe2XyF9uuodBEBSOes8F84WbwuOKd8mVSLpk0IzPdhgIXCUZ5pLgKy%20Hg5I2kNapuOTHBUIYkItopyfAZbdPOCPBLDwjwmmBQ7IcikUkE62YSPFDfDEP8g52z8k0yIqvjPG%20MeQ28VH0AwUkjhhiprfEmdBw54TJNA020rx7zvZviQibx4gQUtEI0sSZN5hXEWYaKss+FRIjfeWe%20tJDMTlFVk4GEUkGif++pMNJMw4RMtFEVBozUvm//TkTYRYTyNZsAECUKbzDETKPKmqDQ9SlSk9LF%20fOacCT2xZ2Tkp9kEgNmFl8xgCthMAUqkGqRz+mQB8RV70mQZw9zPSCcLESDrhki+n4B54qy7wkgO%204H8+8T170rNEjliZycgmCyFg9gY7Fhpr3GX8aFnfcFf5SalHFvJftX1nTbRmZC5lBnK3SOSDC9n3%20H3xjoUoML06NWZo1pr2NUtQJyfqoX4WFwm+/ZdRfqmIOMnLpUJAmrr47K7T9d5t6YmiwmdzAs1Pr%20zFaMb4p03XuNSxXYMtqFsx9U9542jzNSnQUHuLv7I0dXWFnJ5YgnidP+XLFYvD17a2O85G2nKY5T%20hdO9tLncykrw1G3VkNrcysgsHPKA7ws8X65cLrcO8+Etxm2bC0Gy29xKG7ShpLtMD1voPDme8Uxp%20O5jVz0iUNAJAjq+QK+dsab3Oh6SM6XF+Ax+zdY8kivzrlnOeco67QkFl0tPazmzCAbNX3MVXMJ89%20srwYkd3g5vJtrAcB8zn3TJwaCwqEiC92hwIPeOOMUyEdFlLi75KIiM+bMXYBf2+5ZypzhqpSo3Zj%20CXnA3TccYI4R6oqcL66727wQXWl8lkkp1Afrhy32VByiQqPRzcQYtygPngWvvFL2IR5RxGBEtfe5%202Tswb95e9u1zc59IOPIB8naqUMEtZqIjlKiS4cNMzi802uQn8oENe9PjpdnJ4GzcdJ5q8I9W4Eyc%20J8LjaQyhCHD3uyChX4U24h95V40BntvBTth7pKT+x+hozXceTontX8FKhGuQmbZwCXNBaR3VXTUG%20vdH/52qeBRwdrUYTquT9CEZxse1vmBwjbdSQNNixVf/0nnvKr4bNEk96fHamrwURuaTY/lFBh+GE%20YkCecKU6iqXmWevo6D/doecnJl7c5SEn775gn8+z00S5GtRi8GbCQ00vPJaGAAatdGWeAo56btSw%20B/ra9wDi2vO77sNAk9N3n6/5nrF8ncNBxlZjI5xQQYeLoYRhgIGJi5xDVq3VMGet4UjNJnRzv0s5%20kV+zJc89KPt7i6q/GrBTdBw744otCn4YmvFDAbPZD/OuVKuM5mqjrKCDLTczRstRi8kSo1xARd6I%20DAVfD57yuyF1aQTgwpXLh1k8q6r6CRFjLp7xKOfLgrWAJ+Yc96SXhLeJm+LeIgrwY63qyDwm8Q2n%206glWRLlVPnwdgff6sNzyZ1PkwqM57ghW4fwKeLEG9Rai/jACMHu2QiSHfS4XJ63Wv47WBHD1/MHR%20v1rBKsYx00bwwGiVZsb2SyBhX9TjRwJ6MUZayojj8NUBA4fo/vhztNoKFkO2VKkjlu0sW3ZMv+E1%20Gu0zkKGiHp+fp4kyUQZQNLooSFQS/H54eHh0+Oef/xQYuCs1TNggTo0BmeQP66Gax/xcWxQgU5KC%20ADElwnSEDL0mtvCaE6bYoOXcCa9bBBWn5oCbL40y0QUm0cMJqbAZJoSQkFVxNnIuxdaoACWaS8E5%2070hARoUwIw0SiO0TS4MgVjFYlfyYIYQosTITWLeIAvS1vqp8OPZL3ASvAqTG7F0cUJ2a+/61p0jA%20bLYgTxiq4mo8IP7VaNBNmavLE/b864cxgGxzHzG6BqlRadb3kwuGLnkjvIu3pVt9Z/3QK2piANkF%207XA/bLBRkA8ogqJMfBoaYdxbwxJKl6fOGrCbEOMAfToMi6X+8ptXWDUqjEb9kI2l8oTOOj5NF7GA%20/ikoMWEVZ7qyfc9JUGywImukbuL3CJlry1upsxeDpIt4QDbShKjQ6dEZAk6jbnoDE/qUKB1pnP00%20eE+UDKA3fxHihVXO8xoCQilAnpDxRPlsYbr72mQAvXnEEMCaILQItBiuwwZuzOx6275bQXOmiPIZ%20n+xr6zflAN2qLQSwEVmMxQt7M6p8m8ggSldt9m59Z3+pJCAp28LCqFwul+EjlPyPHF8EFG1kf+nM%20PUlA2xPbocm+IR0mwwGrdlftzmqJfgfrnsgeYUMaELniWTsVFdb8SA1u4pRIeQXUAZN93sbbhwDG%20s7BqJokK7TRZ9Z1XFLXsH+Ygc8LuXv0deTO1Z6LEgxSGBlmp8v9YcMiW7yBzGO7zFjPfAgizC1dC%20LfL5S16ElY5AieXcGGiSxn1mBuKISD7w82M5QMEpEGE5LjrYgs0Iu889GRcQR9z9yBPihkLZDYV3%20R2T2ZZCRWt6zawOQI55z161CCk4xIX93hKZ7DnJD7/lDIxEhqT1Dps58UqtVRSLWv6huAxEyz5CC%208kWQEK9rSuD5e+P4YrUazCBAQvIaHvIsN0CJCx99l22Elh+BwUXxCQkFhU0Zsrrme5Z7H0C4+4aN%20NGVJB2yQqgyXZbyI/gk/sVr+FWyk9J0KoLKGzYfBRdsowBo0FDUCEbq8AgCk74qi78WAmCnriJId%20k2IyKfvKU1jJRozUfbcJJJq+98xUslaT1DQvbM+Jqm5Iwg+82wSU9BklStZq6gUP07GsgPYpNIPv%20p9m7AVDigttBCXM1J9zkp7y4RlIGrhxy7xgyTgGE2ew8HnBZbuiy08AiGXXXns4AfMx3BLx3fUE8%20Mbv7qUWvLzHKJFU59eDWOQRQ9K4vA2KmyFDfNFrShEmqcvJvG8A9e4L3tcEaDKTFhTfn8zlUU8Zb%20qaQtiwXpP9eo/XQJA2ReJuwRzsCUaDMuZK/eyWgnCWHupxEkU59BgOL3JsLqGioLMjEkiZU2RhzC%20/wUBit99aeyBJjOoIr/IrXcqRxpHhSMjMBWGvL/UOFFS4v/FDz5BtqhhQJiRhr2DFpb1PeF8rMwd%20UDZTbKMjU/8FIgx9j7CaErNXnH4+BQ+IzFSwYYz7TRkDjsAiafi7oNU8EckntmNszb9fOA9MVs1f%20veduw8hIELEWPERMFKrCiPd5q4VTO/3PU6RW7uMCnjZ2TbXc+oQi0tV8ixu8X2ej9iHG5BskyIyM%20/AUCjHonu6onotT44Xwe3f/58zfZBYf56hzB2g+hIZ1+wIc+oiqIjL8xiof+k8tYrlKcn6qNRrlR%20q7p8I1Owx7kj36sPLWxYPS4s7KIaYNf9e/fN+adPn84/XtFj9m34NJ/zDR4prVqr+Y8EBZjto7+N%20AJqwiRPEu8Agu0cuI2hEcgkCjPu+hXGsETFErqZAgFOwJ4Fiv1ECXMNQkd13EERgHI3/zoyxpBhs%20IIhf5BGBBanMt4JUM0Y6iFBAme89wabdVBElDRVqonLf7DIG6dtpdvf9ZTzj1CX0vSaS310bhp0i%20xr/iEKFdr/y38wxjGITIUiPVOHX5DgqYEX/MUXRwCPHUYfwyEsY4NfJlF8wH+IalcTGEaGMj7n65%20nOIhp6Yuv+yOgQEh3yE1jNOhGKrNePUZQbqY9v+8/Hy1m4UDwr4lC9kJlhxy992Xz39d2vLX5y/v%200N9ZBcCMBfsesDFQbIaVKak4fysAQr/pPDRXFIoCIPy73KqTNl8JUOXb6oZx9ZUQVXwwJMrEEOrs%20htMFDI0yMYTKszZDBzSFqV6CcMgBVRkwNIzGExo7w0ZUAgzOW0AIjePhGmoKgHGExtYwEZUAQxOh%20JKFxMTxEJUBxuQ0hHB5iOoAShMbxcMJNKiYqRzgcxDSCjDThMJKGEuBAZvBShOlPvylVMpGJHkho%207N1LtQxXKbatqFINTmjsp9lpqLRLixHFthIh6hdTazVUGt7N+AGDCY2tlOKNypRFfBpUITQGqTij%20wqxaUy7GwAmNmVP9lqowL9qVdUE4ISrhdFsqHBBioQqExtKYVksFAzZ7kklCmdAw3mrM/mDACr8C%20qp/QGDzUpUYoYDMDCTHqhNoaKiCgZcIVqEpo7F1pCKpAQLML9cAkhKjdSGyqMMCmJdMp6SQ09i9u%20JGIEAVoha4OpEqL8//ZbdUYIoFW5PxM/nBQIkTueqOoRAGiZm2oOqIMQFQAnSnqUB7QqyfgSEyI9%20voXrURqwaW4n5NNAiPzx4gYsd0gCWqbZT+B/GgmR7JwCFCkH2Kx0VfODX/QQ2sZ6T7J7lAG0zI4O%209TmiixDJ4O0NCch4QGSd96XmCeVEIyGqAnZiNRkHaJnNbY14hmZCJPuDi6tvwykjAS2zsthX6B6i%20RTehLTM7b7Nigw0FtJqm2dsegKYnJCUNQltmBhcnN24EbFYEaCG4irm5NdAVWYKSFqEje4Pjt6cP%20HVAkPkAEhtRWMXvd7eOltOAcSZUQy/7e0uD44uLipNtd7PUyvd5it7u53d/aGSzNpGGWAfl/5w33%20NBrLcEkAAAAASUVORK5CYII=%22%20x=%22-206.268%22%20y=%2260.183%22%20transform=%22translate(206.268%20-60.183)%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 256, + "y": 296 + } + }, + { + "id": "d570089c-66ed-4f1a-859b-fd28b8f29a2a", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1344, + "y": 296 + } + }, + { + "id": "1b02a6bc-0fef-4db1-a447-1fc94798a873", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, + "position": { + "x": 736, + "y": 336 + } + }, + { + "id": "230f2299-b408-4955-b69c-f8d12193aa3e", + "type": "basic.input", + "data": { + "name": "aw", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 256, + "y": 392 + } + }, + { + "id": "d5755ad7-baca-4b4c-9bec-3893b8e5fefe", + "type": "basic.output", + "data": { + "name": "o", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1344, + "y": 520 + } + }, + { + "id": "4f6791aa-770f-459b-b75e-c24ba321a643", + "type": "basic.input", + "data": { + "name": "dw", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 256, + "y": 536 + } + }, + { + "id": "7c57173b-a901-4041-baaf-4126ccac986e", + "type": "basic.input", + "data": { + "name": "ar", + "range": "[9:0]", + "clock": false, + "size": 10 + }, + "position": { + "x": 256, + "y": 600 + } + }, + { + "id": "c75a5e11-5610-4d84-b96d-3b450a9bacf4", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "NULL", + "value": "NULL" + } + ], + "virtual": true + }, + "position": { + "x": 736, + "y": 600 + } + }, + { + "id": "36b13681-d13a-492d-824e-526b4168c891", + "type": "basic.output", + "data": { + "name": "wexe", + "virtual": true + }, + "position": { + "x": 1344, + "y": 632 + } + }, + { + "id": "bfe6e1c8-58ed-4d4c-b30d-e79bf06ea29a", + "type": "basic.input", + "data": { + "name": "wr", + "clock": false, + "virtual": true + }, + "position": { + "x": 256, + "y": 680 + } + }, + { + "id": "5dfc0a0c-7f80-456b-ac88-28aa84116c88", + "type": "basic.input", + "data": { + "name": "clear", + "clock": false, + "virtual": true + }, + "position": { + "x": 256, + "y": 776 + } + }, + { + "id": "6739907d-3d8f-4ca2-9735-bfc8c0805352", + "type": "3e13565dc4f4666505760a8e42d91e6ba1ab5a7f", + "position": { + "x": 736, + "y": 408 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "a70454ca-228a-4874-9ae9-88542d0179c9", + "type": "2ee11494a212c3f19e5107169a3f9f3eaa5aef46", + "position": { + "x": 928, + "y": 408 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "13f4149d-6af3-4b82-b753-67707ae19c74", + "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", + "position": { + "x": 1160, + "y": 424 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "84b85383-599d-454d-9546-f321b3ca90f1", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 512, + "y": 664 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "5b973a33-2fba-47db-8aff-8374487f219d", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": 736, + "y": 664 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f762975c-13e8-457d-a79e-3bd309263f3c", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 928, + "y": 648 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "cff78c93-eb61-469e-bb57-4fab31328426", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1160, + "y": 632 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "951c6e05-0700-4023-84aa-31d39dcdfc24", + "type": "d63ed573c705c63c5555b8a09b4a3f8ae4db797a", + "position": { + "x": 512, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8eabcd3b-e8b6-4be8-af82-67f308e0c10d", + "type": "304f86804b99cd01295bd8189ecebc72bae8879e", + "position": { + "x": 736, + "y": 536 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "89b5eb6b-d532-4f1d-ae27-9e2c43576ddd", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 512, + "y": 776 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "port": "out" + }, + "target": { + "block": "d570089c-66ed-4f1a-859b-fd28b8f29a2a", + "port": "inlabel" + } + }, + { + "source": { + "block": "1b02a6bc-0fef-4db1-a447-1fc94798a873", + "port": "outlabel" + }, + "target": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "0b91cb0d-4144-4939-8755-e331104016db" + } + }, + { + "source": { + "block": "c75a5e11-5610-4d84-b96d-3b450a9bacf4", + "port": "outlabel" + }, + "target": { + "block": "f762975c-13e8-457d-a79e-3bd309263f3c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "6739907d-3d8f-4ca2-9735-bfc8c0805352", + "port": "a8e40103-081c-4611-bd1a-6eeda46b33e3" + }, + "target": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "1b30cf5e-82d7-4e4a-9839-661fe4c5864f" + }, + "vertices": [], + "size": 10 + }, + { + "source": { + "block": "13f4149d-6af3-4b82-b753-67707ae19c74", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021" + }, + "target": { + "block": "951c6e05-0700-4023-84aa-31d39dcdfc24", + "port": "c25c4848-5da3-4165-a2da-3e608102fdd5" + }, + "vertices": [ + { + "x": 640, + "y": 296 + } + ], + "size": 8 + }, + { + "source": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "d9ccd8eb-434c-40d1-b491-17e5d8378271" + }, + "target": { + "block": "13f4149d-6af3-4b82-b753-67707ae19c74", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "d9ccd8eb-434c-40d1-b491-17e5d8378271" + }, + "target": { + "block": "d5755ad7-baca-4b4c-9bec-3893b8e5fefe", + "port": "in" + }, + "vertices": [ + { + "x": 1080, + "y": 552 + } + ], + "size": 8 + }, + { + "source": { + "block": "230f2299-b408-4955-b69c-f8d12193aa3e", + "port": "out" + }, + "target": { + "block": "6739907d-3d8f-4ca2-9735-bfc8c0805352", + "port": "c2bdc405-f749-4bec-bea6-8fe3705fa3bb" + }, + "size": 10 + }, + { + "source": { + "block": "7c57173b-a901-4041-baaf-4126ccac986e", + "port": "out" + }, + "target": { + "block": "6739907d-3d8f-4ca2-9735-bfc8c0805352", + "port": "b0100e99-7b7f-4731-9a87-6e3ac76eea54" + }, + "vertices": [ + { + "x": 408, + "y": 472 + } + ], + "size": 10 + }, + { + "source": { + "block": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "port": "out" + }, + "target": { + "block": "13f4149d-6af3-4b82-b753-67707ae19c74", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + }, + "vertices": [ + { + "x": 1112, + "y": 392 + } + ] + }, + { + "source": { + "block": "bfe6e1c8-58ed-4d4c-b30d-e79bf06ea29a", + "port": "out" + }, + "target": { + "block": "84b85383-599d-454d-9546-f321b3ca90f1", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "port": "out" + }, + "target": { + "block": "84b85383-599d-454d-9546-f321b3ca90f1", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + }, + "vertices": [ + { + "x": 440, + "y": 624 + } + ] + }, + { + "source": { + "block": "84b85383-599d-454d-9546-f321b3ca90f1", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "6739907d-3d8f-4ca2-9735-bfc8c0805352", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + }, + "vertices": [ + { + "x": 648, + "y": 608 + } + ] + }, + { + "source": { + "block": "cff78c93-eb61-469e-bb57-4fab31328426", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "c61902b3-38ce-45bf-98c9-322638c2264b" + }, + "vertices": [ + { + "x": 1296, + "y": 616 + }, + { + "x": 912, + "y": 592 + } + ] + }, + { + "source": { + "block": "cff78c93-eb61-469e-bb57-4fab31328426", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "84b85383-599d-454d-9546-f321b3ca90f1", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 1296, + "y": 736 + }, + { + "x": 440, + "y": 872 + } + ] + }, + { + "source": { + "block": "cff78c93-eb61-469e-bb57-4fab31328426", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "36b13681-d13a-492d-824e-526b4168c891", + "port": "in" + } + }, + { + "source": { + "block": "84b85383-599d-454d-9546-f321b3ca90f1", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "5b973a33-2fba-47db-8aff-8374487f219d", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + } + }, + { + "source": { + "block": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "port": "out" + }, + "target": { + "block": "5b973a33-2fba-47db-8aff-8374487f219d", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + }, + "vertices": [ + { + "x": 680, + "y": 616 + } + ] + }, + { + "source": { + "block": "f149644b-68ea-4e9f-bc3b-a84b368513de", + "port": "out" + }, + "target": { + "block": "cff78c93-eb61-469e-bb57-4fab31328426", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1112, + "y": 544 + } + ] + }, + { + "source": { + "block": "f762975c-13e8-457d-a79e-3bd309263f3c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "cff78c93-eb61-469e-bb57-4fab31328426", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "f762975c-13e8-457d-a79e-3bd309263f3c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "13f4149d-6af3-4b82-b753-67707ae19c74", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + }, + "vertices": [ + { + "x": 1048, + "y": 576 + } + ] + }, + { + "source": { + "block": "4f6791aa-770f-459b-b75e-c24ba321a643", + "port": "out" + }, + "target": { + "block": "951c6e05-0700-4023-84aa-31d39dcdfc24", + "port": "97f1445b-2855-4868-b022-cbb45e860f87" + }, + "vertices": [], + "size": 8 + }, + { + "source": { + "block": "5b973a33-2fba-47db-8aff-8374487f219d", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "f762975c-13e8-457d-a79e-3bd309263f3c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "951c6e05-0700-4023-84aa-31d39dcdfc24", + "port": "28d9801b-e30d-48d3-b618-477dcc235a88" + }, + "target": { + "block": "8eabcd3b-e8b6-4be8-af82-67f308e0c10d", + "port": "850ab9c4-0a34-4d23-8692-4521a677445f" + }, + "size": 8 + }, + { + "source": { + "block": "8eabcd3b-e8b6-4be8-af82-67f308e0c10d", + "port": "9ab9a889-682c-48df-b020-7bcb67bd2b67" + }, + "target": { + "block": "a70454ca-228a-4874-9ae9-88542d0179c9", + "port": "556d5191-0378-416e-a7e0-c4be13da2a89" + }, + "vertices": [ + { + "x": 872, + "y": 544 + } + ], + "size": 8 + }, + { + "source": { + "block": "5dfc0a0c-7f80-456b-ac88-28aa84116c88", + "port": "out" + }, + "target": { + "block": "89b5eb6b-d532-4f1d-ae27-9e2c43576ddd", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "89b5eb6b-d532-4f1d-ae27-9e2c43576ddd", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8eabcd3b-e8b6-4be8-af82-67f308e0c10d", + "port": "bba45940-204d-4df3-821d-1e22a0f97376" + }, + "vertices": [ + { + "x": 712, + "y": 760 + } + ] + } + ] + } + } + }, + "2ee11494a212c3f19e5107169a3f9f3eaa5aef46": { + "package": { + "name": "Memory_1KB_screen_128x64", + "version": "0.1", + "description": "Memoria de 1024 bytes.", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.238%22%20height=%22263.284%22%20viewBox=%220%200%2057.212849%2069.660614%22%3E%3Cpath%20fill=%22#fc0%22%20d=%22M15.908%202.487h39.374v10.857H15.908z%22/%3E%3Cpath%20d=%22M5.253%2069.558c-.593-.189-.902-.383-1.306-.821-.695-.755-.698-.77-.752-3.905l-.048-2.793-1.161-.046c-1.296-.05-1.507-.136-1.83-.735-.163-.304-.17-.666-.146-8.483.024-8.14.024-8.167.217-8.425.376-.505.71-.621%201.89-.657l1.076-.033V11.584l5.793-5.792L14.778%200l20.19.024%2020.19.023.495.274a3.177%203.177%200%200%201%201.334%201.49c.182.426.186.614.207%209.957.012%205.238-.002%209.595-.029%209.684-.045.143-.198.16-1.464.16h-1.413v13.003h2.925l-.02%2016.413-.02%2016.414-.243.517a3.11%203.11%200%200%201-1.41%201.455l-.453.225-24.724.018c-19.768.013-24.797-.006-25.09-.1zM23.063%207.83V2.84h-5.677v9.98h5.677zm7.784%200V2.84h-5.678v9.98h5.678zm7.874%200V2.84h-5.677v9.98h5.677zm7.784%200V2.84h-5.677v9.98h5.677zM54.3%209.09l.017-4.968.003-1.236-2.855-.024-2.856-.024v9.983h5.678z%22%20fill=%22#00f%22/%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20font-family=%22ubuntu%22%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22108.954%22%20y=%22182.548%22%20font-size=%2210.125%22%20transform=%22translate(-78.502%20-120.48)%22%20stroke-width=%22.265%22%20fill=%22#fff%22%3E%3Ctspan%20x=%22108.954%22%20y=%22182.548%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EMemory%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%2229.334%22%20y=%2230.259%22%20font-size=%2211.804%22%20fill=%22#fff%22%20stroke-width=%22.308%22%3E%3Ctspan%20x=%2230.706%22%20y=%2230.259%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3E1024%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%2229.406%22%20y=%2244.434%22%20font-size=%2211.804%22%20fill=%22#0ff%22%20stroke-width=%22.308%22%3E%3Ctspan%20x=%2230.778%22%20y=%2244.434%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EBytes%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0b91cb0d-4144-4939-8755-e331104016db", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 128, + "y": 232 + } + }, + { + "id": "1b30cf5e-82d7-4e4a-9839-661fe4c5864f", + "type": "basic.input", + "data": { + "name": "a", + "range": "[9:0]", + "pins": [ + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 128, + "y": 368 + } + }, + { + "id": "d9ccd8eb-434c-40d1-b491-17e5d8378271", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1064, + "y": 440 + } + }, + { + "id": "556d5191-0378-416e-a7e0-c4be13da2a89", + "type": "basic.input", + "data": { + "name": "d", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 128, + "y": 512 + } + }, + { + "id": "c61902b3-38ce-45bf-98c9-322638c2264b", + "type": "basic.input", + "data": { + "name": "wr", + "clock": false + }, + "position": { + "x": 128, + "y": 648 + } + }, + { + "id": "1ea9ebb5-20b9-4340-967d-e3e298c75418", + "type": "basic.memory", + "data": { + "name": "MemScreen", + "list": "00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00\r\n00", + "local": true, + "format": 10 + }, + "position": { + "x": 520, + "y": 24 + }, + "size": { + "width": 176, + "height": 80 + } + }, + { + "id": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "type": "basic.code", + "data": { + "code": "//-- Anchura del bus de direcciones\nlocalparam ADDR_WIDTH = 10;\n\n\n//-- Tamano de la memoria\nlocalparam TAM = 1 << ADDR_WIDTH;\n\ninitial begin\nif (ROMF) $readmemh(ROMF, mem_8, 0, TAM-1);\n //------ File, array, Dir ini, Dir fin\nend \n\n\n//-- NO inicializar!\n//-- Si se inicializa a 0 o cualquier otro\n//-- valor no se infiere una RAM\nreg [7:0]data_out;\n\n//-- Array para la memoria\nreg [7:0] mem_8 [0:TAM-1];\n\n//-- Puerto de lectura\n//-- Para que se infiera una RAM\n//-- debe ser una lectura sincrona\nalways @(posedge clk)\nbegin\n //-- Puerto de lectura\n if (!wr) data_out <= mem_8[addr];\n \n //-- Puerto de escritura\n if (wr) mem_8[addr] <= data_in;\nend\n\n", + "params": [ + { + "name": "ROMF" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "addr", + "range": "[9:0]", + "size": 10 + }, + { + "name": "data_in", + "range": "[7:0]", + "size": 8 + }, + { + "name": "wr" + } + ], + "out": [ + { + "name": "data_out", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 320, + "y": 192 + }, + "size": { + "width": 576, + "height": 560 + } + } + ], + "wires": [ + { + "source": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "data_out" + }, + "target": { + "block": "d9ccd8eb-434c-40d1-b491-17e5d8378271", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "556d5191-0378-416e-a7e0-c4be13da2a89", + "port": "out" + }, + "target": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "data_in" + }, + "size": 8 + }, + { + "source": { + "block": "0b91cb0d-4144-4939-8755-e331104016db", + "port": "out" + }, + "target": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "clk" + } + }, + { + "source": { + "block": "c61902b3-38ce-45bf-98c9-322638c2264b", + "port": "out" + }, + "target": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "wr" + } + }, + { + "source": { + "block": "1b30cf5e-82d7-4e4a-9839-661fe4c5864f", + "port": "out" + }, + "target": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "addr" + }, + "size": 10 + }, + { + "source": { + "block": "1ea9ebb5-20b9-4340-967d-e3e298c75418", + "port": "memory-out" + }, + "target": { + "block": "8ff8f437-2938-4450-a9cb-e05d255c1871", + "port": "ROMF" + } + } + ] + } + } + }, + "89d2342d9664348db3e70e823cacbc8eb24ea3d0": { + "package": { + "name": "Registro", + "version": "0.1", + "description": "Registro de 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 80, + "y": 176 + } + }, + { + "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "type": "basic.output", + "data": { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 632, + "y": 248 + } + }, + { + "id": "42b35cc2-aa64-4e66-be42-169958246799", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 80, + "y": 248 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 312 + } + }, + { + "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 376, + "y": 56 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 288, + "height": 200 + } + } + ], + "wires": [ + { + "source": { + "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "port": "constant-out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "42b35cc2-aa64-4e66-be42-169958246799", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 8 + }, + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "load" + } + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + } + ] + } + } + }, + "8e2728307baccbf26c01cdb87bcfba8ca64a435c": { + "package": { + "name": "Subida", + "version": "0.1", + "description": "Detector de flanco de subida. Emite un tic cuando detecta un flanco ascendente", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22363.337%22%20height=%22251.136%22%20viewBox=%220%200%2096.132868%2066.446441%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22red%22%20fill-rule=%22evenodd%22%20stroke=%22red%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-63.113%20-50.902)%22%3E%3Cg%20fill=%22none%22%20stroke=%22#00f%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M76.611%2083.336l6.027%207.974-5.055%206.03%201.75%201.557M75.371%2083.53l-3.5%207.975-7.97%201.556.583%202.528%22%20stroke-width=%221.058%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M75.907%2083.53V53.588%22%20stroke-width=%223.969%22/%3E%3Cpath%20d=%22M65.118%2063.338l10.688-10.452%2010.351%2010.452%22%20stroke-width=%223.969%22%20stroke-linejoin=%22round%22/%3E%3C/g%3E%3Cpath%20d=%22M123.88%2069.103c2.17%203.317%204.013%202.718%205.68%200%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22%20stroke-linecap=%22round%22/%3E%3Cpath%20d=%22M132.326%2095.38V51.614h-11.225v43.497%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%221.323%22%20stroke-linecap=%22round%22/%3E%3Cellipse%20cx=%22112.489%22%20cy=%2297.866%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cellipse%20cx=%22-140.807%22%20cy=%2291.678%22%20rx=%227.009%22%20ry=%222.635%22%20transform=%22scale(-1%201)%20rotate(-1.418)%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%22.265%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M124.8%2059.416v3.875M128.39%2059.416v3.875%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%22.529%22/%3E%3Cpath%20d=%22M85.794%2074.097h21.381%22%20fill=%22red%22%20stroke=%22red%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22/%3E%3Cg%20transform=%22matrix(.842%200%200%20.842%2062.024%2042.68)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "4196184b-4a60-493b-bcc6-c95958483683", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 152, + "y": 176 + } + }, + { + "id": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 624, + "y": 200 + } + }, + { + "id": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 152, + "y": 232 + } + }, + { + "id": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "type": "basic.code", + "data": { + "code": "reg q = 0;\n\nalways @(posedge clk)\n q <= i;\n \nassign o = (~q & i); ", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "i" + } + ], + "out": [ + { + "name": "o" + } + ] + } + }, + "position": { + "x": 336, + "y": 176 + }, + "size": { + "width": 232, + "height": 112 + } + } + ], + "wires": [ + { + "source": { + "block": "b6426b43-dcda-418d-b6d3-4764b5bc0b25", + "port": "out" + }, + "target": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "i" + } + }, + { + "source": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "o" + }, + "target": { + "block": "1d2e403f-0fa6-41fd-83a9-4f309eadd855", + "port": "in" + } + }, + { + "source": { + "block": "4196184b-4a60-493b-bcc6-c95958483683", + "port": "out" + }, + "target": { + "block": "3b0eca37-3439-41c9-99e7-7ff1e56bb528", + "port": "clk" + } + } + ] + } + } + }, + "d63ed573c705c63c5555b8a09b4a3f8ae4db797a": { + "package": { + "name": "OR-8", + "version": "0.1", + "description": "OR bit a bit entre dos buses de 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22192.718%22%20width=%22223.364%22%20version=%221%22%3E%3Cpath%20d=%22M95.768%20188.718H4.735S35.08%20146.18%2035.82%2094.688C36.563%2043.198%204%204.394%204%204.394L96.317%204c46.445%201.948%20103.898%2053.44%20123.047%2093.678-32.602%2067.503-92.158%2089.79-123.597%2091.04z%22%20fill=%22none%22%20stroke=%22#000%22%20stroke-width=%228%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2266.317%22%20y=%22121.28%22%20x=%2251.78%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=%2251.78%22%3EOR%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c25c4848-5da3-4165-a2da-3e608102fdd5", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 112, + "y": 120 + } + }, + { + "id": "28d9801b-e30d-48d3-b618-477dcc235a88", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 808, + "y": 152 + } + }, + { + "id": "97f1445b-2855-4868-b022-cbb45e860f87", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 112, + "y": 184 + } + }, + { + "id": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "type": "basic.code", + "data": { + "code": "assign o = a | b;\n", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[7:0]", + "size": 8 + }, + { + "name": "b", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 256, + "y": 120 + }, + "size": { + "width": 344, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "c25c4848-5da3-4165-a2da-3e608102fdd5", + "port": "out" + }, + "target": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "a" + }, + "size": 8 + }, + { + "source": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "o" + }, + "target": { + "block": "28d9801b-e30d-48d3-b618-477dcc235a88", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "97f1445b-2855-4868-b022-cbb45e860f87", + "port": "out" + }, + "target": { + "block": "b6b845d5-ee12-489e-ab57-02389c3f0e43", + "port": "b" + }, + "size": 8 + } + ] + } + } + }, + "856dcbd899589a40784f4e1aa85bb4d2b84c4638": { + "package": { + "name": "Drawline_Bresenham_Algorithm", + "version": "0.1", + "description": "Electronic Bresenham algorithm.", + "author": "Democrito", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20version=%221%22%20width=%22834.47%22%20height=%22452.691%22%20viewBox=%220%200%20834.46991%20452.69055%22%3E%3Cimage%20xlink:href=%22data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAACpCAIAAAAumYbcAAAAA3NCSVQICAjb4U/gAAAY4ElEQVR4%20nO2df1DT9/3H35GQCCExQnOUGySCF6eSyxAFJgYrjfxaR1dHUWyX3bQOvbXjLN6ufyh/Uf/ZDvXc%20emu9jm3HtXOmLtexW9CMFYXiWiZNuY+rk6sa8C71GDYlBEjyofn+8bYhDVb9vl8f4Q28Hv809vy8%20fObz+Tzz/rzen/fn+ZFpNBqCIAivLJtvAQiC3A85/Y/L5VKpVJBCoigGg0GlUimXyyF1AoEAISQ5%20OVkmk6GY2XWAYiKRyMTEhFRigHWoGEIID+ceV2IIIYFAoKysjEQtqlKpnnvuOZ/Px1ZubGzs1Vdf%20feKJJ/r6+vbu3avX65nr9PT0RCKRxsZGt9udlJTEVqSxsXHHjh1Xr16tra1lFjM0NOR2uxMSEo4e%20PdrZ2cks5uc///nOnTtv3bpVVVUFEdPd3a3Val977bWzZ8+yiZmcnKypqXnxxRd9Pl9JSQlEjNPp%20zMzMPHPmzK9//Wu2XmlyctJqtR4+fHh6etpkMkHE2O32tWvXOhyOY8eOMYvJy8s7duyYTCazWCzM%203d/Q0FBra2tBQcGFCxeOHDnCXEer1b799tv084zRfT7f0NAQW0VCiCiK0V93SB1CiEwmCwQCIyMj%20wCKciJmYmJBQTCgUgogJhUISipmYmPD5fMy/7IFAQEIxhBBJxECKRMWIogivQ8Fe9MEAr1iQbwJ3%207MOAFkUQrkGLIgjXoEURhGvQogjCNWhRBOEatCiCcA1aFEG4Bi2KIFyDFkUQrkGLIgjXoEURhGvQ%20ogjCNWhRBOEatCiCcA1aFEG4Bi2KIFyDFkUQrpmx6NjYGKTQ9PQ0WMwM4+PjkM3D4bBUSghnYoDV%20uBIjiqJUSghYDPAoxwG0Q6wZZTQB6eLFi52dnV9++SVz0TVr1hgMBq/XKwgCRBxNPevp6ZmcnGQu%20smrVKqPRODIycunSJbYkLkLI5OTk008/TQj54IMPIL9fGRkZJpPJ7/e/9957EDEVFRVKpbK/v390%20dJRZTFpaWn5+fjAYPHfuHERMaWmpWq0WBMHr9TKL0Wg0RUVFhJC//vWvEDGbN2/W6XSDg4M3b95k%20FpOUlGSxWAghLpeLuQghxGQyZWRkeDyea9euMRdZtmyZ1WrdunUriVrU5XIlJydDlE1PT9NswoSE%20BHgdTsTQ1EZOxEhShysxhLM9zJuYr4V0KpXKjz/+GFIxPT1dp9N5PB6/369UKtmKBINBg8GgUCg+%20/vhj5iIUo9Ho9/s9Hg9zhVAolJ+fTwi5evVqMBhkrpOWlpaRkREMBgcHB5mLEEKMRqNSqaR7mLmI%20Wq02GAxSifF6vZAhXalUGo1GQkhfX59CoWCuYzAY1Gq1VGKARqBiRkZGbt++DaljMpnoh7sWlcvl%20P/rRjyAVW1paysvL/X5/IBCgCdEMhMPh9PR0hULh8/kSExMhehISEj777DPgl3K73XK5/NSpU5CL%20n4aGhvr6eq/XCxTT3d2tUqneeeedtrY25iI2m+2VV17x+/1AMU6nMysry+l0njx5krlIWVnZ8ePH%20RVHcu3cvRIzdbl+5cmVvb29zczNzEbPZTKNrgXvmjTfe2LJly8DAwKFDhyB1og3jzHQRc9YwBTis%20SwvQ3nGkpKRANpdWDLAaV2KAOzYOTsRQGUA7xJoRb7ogCNegRRGEa9CiCMI1aFEE4Rq0KIJwDVoU%20QbgGLYogXDPXFqWLXaW9O4cgi5g5fcFjYmLib3/72+vXr+/YsaO4uDgtLY1I/ewFgiwy5tSi4XD4%20Jz/5SXd3t8PhcDgcZrO5rKxszZo1iYmJaFQEuSdz/Zrk9PT03bt3/+AHPxAE4ezZsy0tLYSQ2EEV%20QZBY5uFN5uFwODExsbCwsLCw8NatW7GD6rZt29avX0+wWUWQr5i3Gd1wOEyfa9m9e/dvfvObAwcO%20jI+Pnzx5sqSk5K233hobG0tMTESjIsg8jKJxRAfVDRs23L59+6OPPqLPN2GniiCEn/ui1ITp6emN%20jY0ul2vv3r1er7elpWX//v3t7e3j4+M4qCJLk/kfRWMJh8NTU1M00ubJJ5+8fv06Tv8iSxy+LBol%20HA4HAoHY6d+///3vdPq3rq5u48aNeE8VWSJwatEocZ1qd3f36dOnT58+vWnTpieeeAIHVWTRM2PR%20oaEhSKGoT6ipQKK+oTgdVJ966qmBgYG//OUv//73v0nMoBorQNp/nascXZpSN1+bx8FVdC1QzBdf%20fCGhDKCYWDPOhHQCE/coIyMjkM1FUUxNTSWE3LlzRy5/wAh/+/btc+fO0awts9n87LPPFhQUpKSk%20TE1NEUJ0Oh1ESRQauMhDERQzB2IIIZx8qWAwSEM6pc/RfaC17g9ND0xOTpbJZA/593t6epqbm30+%20n16vr62trays1Gg0SqUSkqwpOZxE12KO7gIS8zWLvv/++0ePHmUO15yamtq9e3dBQcHVq1dPnTq1%20fPly5jrHjh0jhBw/fvwhB2S5XC6KYnd3t8/ni/5PrVZ77NgxtVp9584dArjqWL16dWpq6qVLl4C/%20OxaLZWRk5OjRo2q1mq2C3+9vbm7WarVnzpxxu93MSvLy8nbu3Onz+ZqamiBiDh8+/Pjjj3d0dJw/%20f575cGdnZ//0pz+dnp4+ePAgs5ipqamXXnopJyfnwoUL7777LrMYnU738ssvE0IaGxshJ3B9ff3a%20tWv7+vr+9Kc/MddRqVSHDx/esmULifaiMpmss7MTcpn61FNPyWQyv98PzNung+fAwABtNdnw+Xw0%20mhU4/UudKZfL4d21KIpdXV3AIjKZ7ObNm+3t7cwVtFot3cNAMa+88opMJvvss88gh7u6uloSMfX1%209TKZ7M6dOxAxmzZtomKAJ/Du3btlMtnY2Bikjk6nO3LkCP08Mzgwv1TjUQDJJieENDQ0WK3WN998%20k07/LqZ7qlzl6AIBXptIC/CUk5ZYM3K0jyTkscceW7169b59+6xW69WrV+kjNVqttrKysqCgYOXK%20lQTvqSILhMVpUUJIJBIJhUJJSUn0kZobN27861//ir2nmpubS9CoCPcsWotGoSbMzMykC5X6+/v/%208Y9/4EIlZKGw+C0aha6psFgsRUVF9DlVXKiE8M8SsiglOqj++Mc/fuaZZ6ILlbBTRfhkyVk0Sjgc%20pi9mtlgsN27cmD2ozrdABCFkKVuUEjuoPvvss7Gd6o4dO5577jmdTsfVjQpkqbHULRpldqdKn1Mt%20Kyszm83YqSLzBVr0a8R1qsPDw3a7nS4Tqaurw04VmXvQoveGdqqVlZU2m+3s2bM4/YvMF2jRBxAM%20BmOnf9vb23GhEjKXoEUfDHXgPad/i4uLN2/ejAuVkEcHWvT/wezp3/b29t7eXkKIzWYzm824UAmR%20HLQoC7Onf2n4A3aqiOSgRdnBhUrIHIAWlYBvWqgU7VTlcjlXz0YiCwg8byTjPp1qU1MTvvcNYWPG%20ovT92cxMT0+DxcwQCoUgm0tybclcZHan2tzcDNcDVCXJ5tJWE0VRKiUELAZ4ysUBtEOsGe9aVBTF%20F154gflLhkIhvV4vimJaWtqBAweYMyZCoVAkEpmenq6qqiouLmYukp2dTfeRVOcQQx1qVDqoNjc3%20//73v29tbY39C3V1dd/61rcesnIoFFIoFKIobty4kba4bOTk5IiiqFAogIcpJSVFFMXc3NyGhgZm%20MY899hjdw5KIyc7OhtRZsWKFKIoJCQlAMWlpaaIo6vV6SJ3ExMTouSd9SCdXQYmQIhSp6tBe9JNP%20Pjl79uzp06cJIXV1dd///vfz8vIesoIoisFg8OHjS+9JJBKZmJiAZ6lSMbwd7kUm5mshnRcvXgSm%20VC9fvlytVgeDQeAFM42oXnxiRkZGJiYm6M/q6OjoP//5z/b29pGREa1W+8ILL2zYsCEtLe3+11qp%20qalqtdrj8UDEEEIMBoPf76fxpcwkJyfrdDq/30+DxZmRZA/T2OTFJ2br1q0keqErl8upZZlpaWmp%20qKj44IMP9u/fD6kjCAIh5ODBg1euXGEu0tTUtGvXrsHBwdraWogYt9stl8t/+ctfQgIXGxoa6uvr%20JyYmhoeHo8+1RTvVzs5O+uzb/Z9TpdfDarU6tggD4XDYYDDcuXMHUiccDmdlZcnlcrvdTl8Gy0ZZ%20Wdnx48dFUQSee3a7fd26defPn4f0/Lm5uX/+85+pKoiYN954Y8uWLR9++OGhQ4cgdagRSOx0kV6v%20h7zWhQ7rUj1auWLFCsjm0j7hmZKSAtk8KiZWVXT6d9++fTt37rx8+XJ7ezuNDrbZbBs3bqRXN9FO%20NTExUcIUSYVCAdlF9/xGDAB3bBxAMcBTLk4G8CpXr9dHP+NNl3mG3lMtLS0tLS2l91Tb2tra2to2%20bdpUVVWVmZmJC5WWOGhRLohbqHT58uWOjg76hojq6uq8vDzILC6yoEGL8kV0ULVYLLRTpYNqcXHx%20zp07s7KyMKVlqbFsvgUg9yC2Uz1x4oTNZvvPf/5z8OBBk8nU09MzPj6ORl064CjKNbGD6vj4eE9P%20T3RQtVqt2KkuBdCiCwBqwvXr11dUVBQXF9Pwh97eXp1OV1lZOXv6F1lMoEUXEqIoxk7/xnaqVqs1%20OzuboFEXHWjRhcfse6odHR3R8Ac6qKJRFw1o0QXMfaZ/sVNdNKBFFzyzB9W2tra4ThWNunBBiy4e%204hYqYae6OECLLjaoCbOzs+M6VbpQyWw2Y0TLwgKP1uIkmv0b16kSQnp7ey0WS0pKCnaqCwK06CIn%20tlOtqalxu91tbW0Oh4MOqtip8g8uAFwqhMPhlJQUi8UiCMKJEyfWr1/f1tZ28ODBN99889atW0Tq%20J/gQqcBRdGkRDodFUfz2t78dHVRnL1TCQZUr0KJLFDqoRjtVp9NJp3+3bdtWUlKC07/8gBZd0kSn%20f3/2s5+NjY3Re6pdXV3YqfLDjEUhqSjkq+BQqQ7nF198Adlc2rNqfHwcsnlUDI3tZC4iYdBrKBSK%20FRP36rdr165duHDhPguVZn9gA7hj4wCKAZ5ycTKAObqxZsQEwDkSQxMAIXXmMgFQoVCMjo5+9NFH%20v/vd73w+n06nq66ufvLJJ2mmfigUwgTAORBDEwAXeY4uV2Ikia6d+xxdt9v9t7/9LZr9W1NTs27d%20OiJRlry0ccdcHW6pcnTvHielUvmHP/wBkkZvtVqNRqPH43E6nZAw7xdffHF6evrMmTPMFx6hUKiw%20sDA/P9/r9b777rsQMQcOHCCEOByO//3vf2xFCCG5ublFRUV+v/+tt96CiNmzZ49Sqezs7Lx+/Tqz%20mJycnG3btgWDwddff/0hxcRenNPXSRFC9u7du2fPnsHBQXrOMJ85BQUFXq/3008/Zduckp6ebjQa%20+/v7P/zwQ0gafU1NTUJCwmuvvQY5TFVVVQaDYXBwsLOzE5JGb7PZ6OeZHF16ScNWkRBiNBrXrVs3%20Ojr6+uuvMxchhLz00ktyudzpdNLESjZ0Ol1hYeH4+DhQzIEDB+RyeV9fX3t7O3ORhoaGLVu2wMU8%20//zzKpWKzugwF7HZbNu3b/f7/UAxra2tra2tdPo3MzMzOTmZ7Z0a5KucfuBd2YSEhBs3bkC+1KZN%20m3bt2kUIAe6ZwsLC1atXDw0NQepotdo9e/bQzzNXOxqNBmJR4LAeBzAzVtq78MALVGnFAKtJJebE%20iROjo6PNzc1dXV20U83Pz2czqlSqgEUkjCkmYDvQ9pOCN10QFnJzczMyMrKzs69cuXLp0qXYQRXv%20qUoLWhRhQRRFURTD4XBubm5ubm5NTU1fX19HRwe9p/rDH/7QbDbjPVVJQIsiIKgJU1JSysvLS0tL%206T1V+prGaKeKj9RAQIsi0kBNSAfV0dHRgYEBulAJ3qkucdCiiJRQE2o0Ghr+gJ0qHLQo8kiIHVRj%20O1U6qNJOdb41LgzQosgj5IGdalFR0Xxr5B20KDIXxA6qn3/+eV9f3+nTp7u6uv74xz/W1tZmZWXh%209O83gRZF5o7Zg+rAwAB9STlO/34TaFFkHqAmXLNmjc1mGxwcfPvttx0OR1dXl16v3759O07/xoIW%20ReaNcDgcDAa1Wm1lZWVlZWW0U8Xp31jQoggvxHaquFApCloU4QVcqHRP0KIId8QtVLp8+TKd/l2a%20nSpaFOGU6EKl8vLy8vLyK1euRDvVsrKy7373u0ukU0WLIrwz+55qR0eHy+XS6XQ1NTVr165VKBSQ%20sBjOQYsiC4PZnarL5aLJBtXV1fv27YOE1/DMjEUnJyfnUUccEgZSwpEkR0sqgNd1i+Cy8J6dKiS5%20hsLVKRdrxrsWjUQiVqs1EAiwVZyamtJoNJFIRK1Wl5WVLV++nLlOJBIhhJjN5oyMDOYiqampkUhE%20oVBAxPj9fkJIJBLJzs6urq5mFvP4449HIhG5XL5t2za1Wg0Us2rVKmYxhJBVq1bRPQwUQ8NigIan%20v3300fD/77axj9TU1NT4/f7GxsbYZB+tVltSUiKXyx/yF1an09E9AzyB1Wp1JBLRaDSQOiqViooh%20GNK5gMRIUkdaMZAK0qJUKmlsckdHh91uHxoa0mq1TU1NFotFpVI9TAUaX0oIeci//03QLFXpQzoJ%20OD9b2jqciKEHnhMx0taRpAg8AleqHF1CCI01f+aZZ7Zv397X1/fOO+8cOnSIEGKz2SoqKtLT0++/%20uSiKqamphJDh4WFgoByNzJbqcN8dRXt7e00mE6TQr371q6qqqvfff3///v2QOoIgEEJ27dp15coV%205iJNTU27du365JNPamtrIWLcbrdcLn/55ZddLhdzkYaGhvr6+uHh4aqqKoiY7u7ulStXvvrqqzTJ%20lo26urojR458/vnnJSUlEDFOpzMrK+vUqVMnT55kLlJWVnb8+HFRFPPy8iBi7Hb72rVre3t7Y9+C%20kZiYGO1UCSEPXKgUDocLCgrGxsb++9//Qt7rodVqv/Od73R0dPziF79g/kaEEEEQiouLSewoqtfr%20Ia91od9KqgzIFStWQDaXNhczJSUFsrm0YoBX3cDN4wB+NeCOjSNOTDgcpvdU4xYqlZWVlZSUpKen%20P4qFSrE/EJA6er0++hlvuiCLmXtO/7pcLr1e/73vfc9kMvG/UAktiix+Yhcqxd1TpYNqTk4O8+2M%20Rw1aFFlCxC1U6unpcTgcdKFSdXV1Tk7O8uXLpW1M4KBFkSVHdKFSdXU1fU7V5XLR1b87duzYsGHD%20I+pU2UCLIkuXuE51eHj45MmTDocjJyenvLyck04VLYosdaKd6vPPP19bW2u327u6umI71czMTDJ/%20ayfRoghCyFcOnJqays3NzcvLGx0d7e3tjXaqNTU18zWookUR5GtEB9XYTjV2UH3gQiVpQYsiyL2J%2061TpoPrpp58eOXJkLsdStCiC3I+4QXVsbGyOr3WXzeU/hiALl6hX5/jfRYsiCNegRRGEa9CiCMI1%20aFEE4Rq0KIJwDVoUQbgGLYogXDNjUUgqCvkqTEmqu7rj4+OQzaW9ucyVGK5ydIHVgDs2jnl/JCUW%20YLZYrBnvxotdvHiR5noxk56ertPp/H6/x+OB1KEpZ4ODg5AMyLS0tIyMDKCYUCiUn58vlZhgMDg4%20OMhchBBiNBqVSqXH46GZumyo1WqDwSCVGK/XOzo6ylxEqVQajUZCSH9/v0KhYK5jMBjUajXwGwWD%20QaPRGAqFPB4PcyhhMBike3hkZOT27dsQPSaTaevWrQRzdBeQGA5zdBfZHp6YmOBqz3wtR1epVJ4/%20f/7LL79krrhmzRqDweD1eoGjMZV14cIFyAssVq1aZTQaR0ZGLl26lJSUxFZkcnLy6aefJoT09vbS%20jFY2MjIyTCaT3+9/7733IGIqKiqUSmV/fz9k4EpLS8vPzw8Gg+fOnYOIKS0tVavVgiB4vV5mMRqN%20pqioiBDicDggYjZv3qzT6QYHB2/evMksJikpyWKxEEI6OjqYixBCTCZTRkaGx+O5du0ac5Fly5ZZ%20rda7f9BoNBqNRhAErVYLUdbS0iIIAs1BhCAIgiAIZrMZUqSpqUkQBLvdDhTjdrsFQaC/Gsw0NDQI%20guB0OoFiuru7BUGw2WyQIjabTRCE7u5uoBin0ykIQkNDA6RIdXW1IAhutxsoxm63C4LQ1NQEKWI2%20m+m5BxTT2toqCEJLSwukiFarFQSBenNmugi4Phg4rMfBVXQtV2KA1bgSAwx9j4OrUF+gHWLNiDdd%20EIRr0KIIwjVoUQThGrQognANWhRBuAYtiiBcgxZFEK5BiyII16BFEYRr0KIIwjVoUQThGrQognAN%20WhRBuAYtiiBcgxZFEK5BiyII16BFEYRr0KIPRhTF+ZawOMEd+zDMJFNAsovGxsbkcnkkEqF/1Ov1%20zHUIIZFIRKVS6XQ6tsipaBGgGJplCheTnJwsoRiFQsEsZnJyUqFQSCgmOTlZq9WyRepMTk6qVCoJ%20xRBC4GJkMhlzkVgxcrkcUifWjDMhnSqViq0cRRRFmk0IDKQJBAKEkOTkZJlMhmJm1wGKiUQiNIpS%20EjHAOlQMIYSHc48rMYSQQCBAc+1kc//WYQRBHh7sRRGEa/4Pl5Ax7zP3tQEAAAAASUVORK5CYII=%22%20preserveAspectRatio=%22none%22%20height=%22452.691%22%20width=%22834.47%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5f2b6780-a057-4eac-8fe9-d526989a4aee", + "type": "basic.output", + "data": { + "name": "busy" + }, + "position": { + "x": 1424, + "y": -176 + } + }, + { + "id": "fc9de8b7-2d97-410d-bd91-d4163424c589", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy" + }, + "position": { + "x": 1080, + "y": -176 + } + }, + { + "id": "5106e673-b257-4404-b843-7e353af1724c", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": -40, + "y": -176 + } + }, + { + "id": "80585c98-f200-47dc-b488-61c60fb9a3f1", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -472, + "y": -136 + } + }, + { + "id": "42728e8b-acae-4001-833f-fccc06e477ec", + "type": "basic.output", + "data": { + "name": "x", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1424, + "y": -72 + } + }, + { + "id": "0bb3212b-7ce7-40ff-948e-df4f36c71b78", + "type": "basic.input", + "data": { + "name": "x0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -472, + "y": -56 + } + }, + { + "id": "f676657e-ee81-4ec7-addc-5f45f30e9b23", + "type": "basic.input", + "data": { + "name": "y0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -472, + "y": 24 + } + }, + { + "id": "498de486-3e9c-45bc-ad28-a8d0375ee072", + "type": "basic.input", + "data": { + "name": "x1", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -472, + "y": 104 + } + }, + { + "id": "79900997-9c95-4e73-bca4-3f521ab6c01b", + "type": "basic.output", + "data": { + "name": "y", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1424, + "y": 144 + } + }, + { + "id": "f26494be-bac5-420f-9eb1-fb408f3b288a", + "type": "basic.input", + "data": { + "name": "y1", + "range": "[7:0]", + "clock": false, + "size": 8, + "virtual": true + }, + "position": { + "x": -472, + "y": 176 + } + }, + { + "id": "00c72ad5-9749-4b9e-a48e-f696e2f52097", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "busy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 160, + "y": 224 + } + }, + { + "id": "8ae3d7a6-05e5-46a8-8945-cbb1f9e0b7a8", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 1424, + "y": 248 + } + }, + { + "id": "0fcba222-875d-4bae-91ba-77eb2ebb9cc8", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec" + }, + "position": { + "x": 1080, + "y": 264 + } + }, + { + "id": "cc625708-a3d0-4201-b99d-11f89a41cf79", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 160, + "y": 288 + } + }, + { + "id": "8170651a-71b9-4482-b80d-49299f12803a", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1080, + "y": 320 + } + }, + { + "id": "b3c834ae-4597-4739-8f92-21d63dd0ebce", + "type": "basic.input", + "data": { + "name": "next", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": -472, + "y": 320 + } + }, + { + "id": "4e57f00e-26cb-4231-a09e-76508e6a2682", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1424, + "y": 336 + } + }, + { + "id": "ce0f572f-df6c-4536-a530-0b12269009f9", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": -472, + "y": 416 + } + }, + { + "id": "7dd1244a-825f-4256-8110-7755e9db0911", + "type": "7304aa3a24299055aa5839a0252cfa50a5982123", + "position": { + "x": -32, + "y": 240 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "37284b6c-c15b-4f70-8298-35c336a683eb", + "type": "basic.code", + "data": { + "code": "wire signed [9:0] sx, sy, difx, dify, dx, dy, erro;\nreg signed [9:0] x0 = 0, y0 = 0, err = 0, e2 = 0;\nreg done = 0;\n\nassign difx = x1 - xo;\nassign dify = y1 - yo;\n\nassign sx = (xo < x1) ? 1 : -1;\nassign sy = (yo < y1) ? 1 : -1;\n\nassign dx = (difx[9] == 1) ? ~difx+1 : difx;\nassign dy = (dify[9] == 1) ? dify : ~dify+1;\n\nassign erro = dx + dy;\n\nassign x = x0;\nassign y = y0;\n\nalways @(posedge clk) begin\n\n if (start) begin\n err <= erro;\n x0 <= xo;\n y0 <= yo;\n done <= 0;\n end\n \n if (sel == 0 && next) begin\n e2 <= err * 2;\n if (x1 == x0 && y1 == y0) done <= 1;\n end\n \n if (sel == 1 && next) begin\n if (e2 >= dy) begin\n err <= err + dy;\n x0 <= x0 + sx;\n end\n end\n \n if (sel == 2 && next) begin\n if (e2 <= dx) begin\n err <= err + dx;\n y0 <= y0 + sy;\n end\n end\nend", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "xo", + "range": "[9:0]", + "size": 10 + }, + { + "name": "yo", + "range": "[9:0]", + "size": 10 + }, + { + "name": "x1", + "range": "[9:0]", + "size": 10 + }, + { + "name": "y1", + "range": "[9:0]", + "size": 10 + }, + { + "name": "sel", + "range": "[1:0]", + "size": 2 + }, + { + "name": "next" + }, + { + "name": "start" + } + ], + "out": [ + { + "name": "x", + "range": "[7:0]", + "size": 8 + }, + { + "name": "y", + "range": "[7:0]", + "size": 8 + }, + { + "name": "done" + } + ] + } + }, + "position": { + "x": 312, + "y": -144 + }, + "size": { + "width": 712, + "height": 632 + } + }, + { + "id": "0ed0bdf6-7a05-41f9-a066-290de41f81b5", + "type": "b6cd2c443400eff3c7a103f076fd8aebbd056aa8", + "position": { + "x": -296, + "y": -56 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "760c48e5-f7b1-4815-af0b-842cd12bd90d", + "type": "b6cd2c443400eff3c7a103f076fd8aebbd056aa8", + "position": { + "x": -296, + "y": 24 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "b8b8b3ba-dab7-48e5-800d-cf5cdb1ade38", + "type": "b6cd2c443400eff3c7a103f076fd8aebbd056aa8", + "position": { + "x": -296, + "y": 104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "08a0acb6-2fe5-4125-b8e7-924841ee3782", + "type": "b6cd2c443400eff3c7a103f076fd8aebbd056aa8", + "position": { + "x": -296, + "y": 176 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6f25d597-0629-4ee0-b307-7a81fa3dc006", + "type": "basic.info", + "data": { + "info": "## Bresenham algorithm to draw lines in verilog.", + "readonly": true + }, + "position": { + "x": 432, + "y": -192 + }, + "size": { + "width": 440, + "height": 32 + } + }, + { + "id": "079c2c69-7b3f-4b0e-af44-0f9998375609", + "type": "basic.info", + "data": { + "info": "### Operating range: 0 .. 127", + "readonly": true + }, + "position": { + "x": -472, + "y": 256 + }, + "size": { + "width": 288, + "height": 32 + } + }, + { + "id": "07306df7-1eec-4def-abce-e8d7cb264a71", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": 1248, + "y": 336 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "cc625708-a3d0-4201-b99d-11f89a41cf79", + "port": "inlabel" + }, + "vertices": [] + }, + { + "source": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + }, + "target": { + "block": "00c72ad5-9749-4b9e-a48e-f696e2f52097", + "port": "inlabel" + } + }, + { + "source": { + "block": "fc9de8b7-2d97-410d-bd91-d4163424c589", + "port": "outlabel" + }, + "target": { + "block": "5f2b6780-a057-4eac-8fe9-d526989a4aee", + "port": "in" + } + }, + { + "source": { + "block": "80585c98-f200-47dc-b488-61c60fb9a3f1", + "port": "out" + }, + "target": { + "block": "5106e673-b257-4404-b843-7e353af1724c", + "port": "inlabel" + }, + "vertices": [ + { + "x": -96, + "y": -128 + } + ] + }, + { + "source": { + "block": "8170651a-71b9-4482-b80d-49299f12803a", + "port": "outlabel" + }, + "target": { + "block": "07306df7-1eec-4def-abce-e8d7cb264a71", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "0fcba222-875d-4bae-91ba-77eb2ebb9cc8", + "port": "outlabel" + }, + "target": { + "block": "8ae3d7a6-05e5-46a8-8945-cbb1f9e0b7a8", + "port": "in" + } + }, + { + "source": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "d5202de9-f599-44eb-91b0-9cc066d99cb2" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "sel" + }, + "vertices": [ + { + "x": 240, + "y": 288 + } + ], + "size": 2 + }, + { + "source": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "next" + }, + "vertices": [ + { + "x": 104, + "y": 344 + } + ] + }, + { + "source": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "x" + }, + "target": { + "block": "42728e8b-acae-4001-833f-fccc06e477ec", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "y" + }, + "target": { + "block": "79900997-9c95-4e73-bca4-3f521ab6c01b", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "ce0f572f-df6c-4536-a530-0b12269009f9", + "port": "out" + }, + "target": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + }, + "vertices": [ + { + "x": -168, + "y": 368 + } + ] + }, + { + "source": { + "block": "ce0f572f-df6c-4536-a530-0b12269009f9", + "port": "out" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "start" + }, + "vertices": [] + }, + { + "source": { + "block": "80585c98-f200-47dc-b488-61c60fb9a3f1", + "port": "out" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "clk" + } + }, + { + "source": { + "block": "80585c98-f200-47dc-b488-61c60fb9a3f1", + "port": "out" + }, + "target": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + }, + "vertices": [ + { + "x": -96, + "y": 40 + } + ] + }, + { + "source": { + "block": "0bb3212b-7ce7-40ff-948e-df4f36c71b78", + "port": "out" + }, + "target": { + "block": "0ed0bdf6-7a05-41f9-a066-290de41f81b5", + "port": "64933677-8f17-4ab2-8746-22c4c62e1581" + }, + "size": 8 + }, + { + "source": { + "block": "0ed0bdf6-7a05-41f9-a066-290de41f81b5", + "port": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "xo" + }, + "size": 10 + }, + { + "source": { + "block": "f676657e-ee81-4ec7-addc-5f45f30e9b23", + "port": "out" + }, + "target": { + "block": "760c48e5-f7b1-4815-af0b-842cd12bd90d", + "port": "64933677-8f17-4ab2-8746-22c4c62e1581" + }, + "size": 8 + }, + { + "source": { + "block": "760c48e5-f7b1-4815-af0b-842cd12bd90d", + "port": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "yo" + }, + "size": 10 + }, + { + "source": { + "block": "498de486-3e9c-45bc-ad28-a8d0375ee072", + "port": "out" + }, + "target": { + "block": "b8b8b3ba-dab7-48e5-800d-cf5cdb1ade38", + "port": "64933677-8f17-4ab2-8746-22c4c62e1581" + }, + "size": 8 + }, + { + "source": { + "block": "b8b8b3ba-dab7-48e5-800d-cf5cdb1ade38", + "port": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "x1" + }, + "size": 10 + }, + { + "source": { + "block": "f26494be-bac5-420f-9eb1-fb408f3b288a", + "port": "out" + }, + "target": { + "block": "08a0acb6-2fe5-4125-b8e7-924841ee3782", + "port": "64933677-8f17-4ab2-8746-22c4c62e1581" + }, + "size": 8 + }, + { + "source": { + "block": "08a0acb6-2fe5-4125-b8e7-924841ee3782", + "port": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4" + }, + "target": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "y1" + }, + "size": 10 + }, + { + "source": { + "block": "07306df7-1eec-4def-abce-e8d7cb264a71", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "4e57f00e-26cb-4231-a09e-76508e6a2682", + "port": "in" + } + }, + { + "source": { + "block": "37284b6c-c15b-4f70-8298-35c336a683eb", + "port": "done" + }, + "target": { + "block": "07306df7-1eec-4def-abce-e8d7cb264a71", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [ + { + "x": 1168, + "y": 384 + } + ] + }, + { + "source": { + "block": "07306df7-1eec-4def-abce-e8d7cb264a71", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "a7e0bb23-287d-4c38-861e-c79cf61fb426" + }, + "vertices": [ + { + "x": 1384, + "y": 464 + }, + { + "x": -112, + "y": 528 + } + ] + }, + { + "source": { + "block": "b3c834ae-4597-4739-8f92-21d63dd0ebce", + "port": "out" + }, + "target": { + "block": "7dd1244a-825f-4256-8110-7755e9db0911", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + } + } + ] + } + } + }, + "7304aa3a24299055aa5839a0252cfa50a5982123": { + "package": { + "name": "count_stop_2bits____CLONE", + "version": "0.14", + "description": "Máquina de contar de 2 bits (cuenta hasta 4 ciclos)", + "author": "Juan González-Gómez (Obijuan) [Modificada por otro usuario.]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 704, + "y": -384 + } + }, + { + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 848, + "y": -384 + } + }, + { + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1064, + "y": -360 + } + }, + { + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1352, + "y": -352 + } + }, + { + "id": "b3dbbf7b-9a46-4e81-b2d1-ede276c46ef2", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "fin", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1200, + "y": -312 + } + }, + { + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1200, + "y": -264 + } + }, + { + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 696, + "y": -248 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1064, + "y": -248 + } + }, + { + "id": "f47f4f14-48b2-4225-b678-67be60f08f36", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "fin", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1968, + "y": -232 + } + }, + { + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "busy", + "virtual": true + }, + "position": { + "x": 2312, + "y": -216 + } + }, + { + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "red" + }, + "position": { + "x": 2152, + "y": -216 + } + }, + { + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 696, + "y": -200 + } + }, + { + "id": "a7e0bb23-287d-4c38-861e-c79cf61fb426", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false + }, + "position": { + "x": 696, + "y": -144 + } + }, + { + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1056, + "y": -128 + } + }, + { + "id": "684c73b1-e845-427e-99f6-7725540026bd", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "range": "[1:0]", + "pins": [ + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "blockColor": "navy", + "oldBlockColor": "navy" + }, + "position": { + "x": 1824, + "y": -120 + } + }, + { + "id": "c5ec049e-5363-46f8-ba35-2d64d9ccebd9", + "type": "basic.outputLabel", + "data": { + "blockColor": "navy", + "name": "cnt", + "range": "[1:0]", + "oldBlockColor": "navy", + "size": 2 + }, + "position": { + "x": 1200, + "y": -104 + } + }, + { + "id": "81007b10-df78-450d-9b82-63a608182109", + "type": "basic.outputLabel", + "data": { + "blockColor": "navy", + "name": "cnt", + "range": "[1:0]", + "oldBlockColor": "navy", + "size": 2 + }, + "position": { + "x": 2160, + "y": -72 + } + }, + { + "id": "d5202de9-f599-44eb-91b0-9cc066d99cb2", + "type": "basic.output", + "data": { + "name": "n", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 2312, + "y": -72 + } + }, + { + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1032, + "y": -32 + } + }, + { + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "darkgreen" + }, + "position": { + "x": 1472, + "y": 16 + } + }, + { + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 104 + } + }, + { + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 2328, + "y": 104 + } + }, + { + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "red" + }, + "position": { + "x": 1544, + "y": 136 + } + }, + { + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "red" + }, + "position": { + "x": 864, + "y": 152 + } + }, + { + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1232, + "y": 168 + } + }, + { + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "oldBlockColor": "yellow" + }, + "position": { + "x": 1384, + "y": 200 + } + }, + { + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": 864, + "y": 208 + } + }, + { + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 248 + } + }, + { + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 2320, + "y": 248 + } + }, + { + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "darkgreen" + }, + "position": { + "x": 1384, + "y": 304 + } + }, + { + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 312 + } + }, + { + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1680, + "y": 376 + } + }, + { + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 1352, + "y": -208 + } + }, + { + "id": "22d9327f-e1c3-423d-85ee-54b95e4fef4a", + "type": "basic.constant", + "data": { + "name": "max", + "value": "3", + "local": true + }, + "position": { + "x": 1816, + "y": -368 + } + }, + { + "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "position": { + "x": 864, + "y": -224 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "efc77998-2cbe-4f54-aa2f-847344dad59a", + "type": "81be9d4770c09acc01e75d9ba7bbce1a3b067da1", + "position": { + "x": 1352, + "y": -104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d76d4948-a798-448c-adfa-c03b511371e5", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1544, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1024, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", + "data": { + "info": "**Estado de** \n**la máquina**", + "readonly": true + }, + "position": { + "x": 872, + "y": -304 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", + "data": { + "info": "Máquina encendida", + "readonly": true + }, + "position": { + "x": 1048, + "y": -384 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true + }, + "position": { + "x": 1064, + "y": -288 + }, + "size": { + "width": 152, + "height": 56 + } + }, + { + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true + }, + "position": { + "x": 1072, + "y": -152 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true + }, + "position": { + "x": 1056, + "y": -56 + }, + "size": { + "width": 120, + "height": 32 + } + }, + { + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true + }, + "position": { + "x": 1488, + "y": -376 + }, + "size": { + "width": 224, + "height": 40 + } + }, + { + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true + }, + "position": { + "x": 1824, + "y": -160 + }, + "size": { + "width": 160, + "height": 56 + } + }, + { + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", + "data": { + "info": "### Salidas", + "readonly": true + }, + "position": { + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 + } + }, + { + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", + "data": { + "info": "Estado de la máquina", + "readonly": true + }, + "position": { + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", + "data": { + "info": "Ciclo actual", + "readonly": true + }, + "position": { + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", + "data": { + "info": "Cuenta finalizada", + "readonly": true + }, + "position": { + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 + } + }, + { + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", + "data": { + "info": "Ejecutar el ciclo", + "readonly": true + }, + "position": { + "x": 2168, + "y": 80 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true + }, + "position": { + "x": 864, + "y": 88 + }, + "size": { + "width": 216, + "height": 80 + } + }, + { + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true + }, + "position": { + "x": 1136, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true + }, + "position": { + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 + } + }, + { + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", + "data": { + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true + }, + "position": { + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 + } + }, + { + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true + }, + "position": { + "x": 1688, + "y": 120 + }, + "size": { + "width": 208, + "height": 80 + } + }, + { + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true + }, + "position": { + "x": 1432, + "y": 360 + }, + "size": { + "width": 256, + "height": 72 + } + }, + { + "id": "d6a82240-c57a-4c49-b29c-568e23a472e7", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1976, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "b880b0be-c9d6-4195-a41d-1aeb18086865", + "type": "f05b5a0b0134e734d84db87805a8811718a62b51", + "position": { + "x": 1816, + "y": -232 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "062c6b77-768c-4d7e-97b1-b87c99ca6bb4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1352, + "y": -288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "type": "099e7fc3e908bb2fdd70f54d4838a302d48e4692", + "position": { + "x": 1648, + "y": -152 + }, + "size": { + "width": 96, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + }, + "target": { + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + }, + "target": { + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + }, + "target": { + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" + }, + "vertices": [ + { + "x": 1000, + "y": -272 + } + ] + }, + { + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + }, + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" + } + }, + { + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" + }, + "target": { + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "port": "in" + } + }, + { + "source": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "ca5759cf-fc96-4d75-8a59-3a8087cad1bf", + "size": 2 + }, + "target": { + "block": "684c73b1-e845-427e-99f6-7725540026bd", + "port": "inlabel" + }, + "size": 2 + }, + { + "source": { + "block": "c5ec049e-5363-46f8-ba35-2d64d9ccebd9", + "port": "outlabel" + }, + "target": { + "block": "efc77998-2cbe-4f54-aa2f-847344dad59a", + "port": "ab6da1db-4b52-45d3-aa03-5f37ed6719fe", + "size": 2 + }, + "size": 2 + }, + { + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" + }, + "target": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + } + }, + { + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" + } + }, + { + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" + }, + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" + } + }, + { + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + }, + "vertices": [ + { + "x": 824, + "y": -208 + } + ] + }, + { + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" + }, + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" + } + }, + { + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" + }, + "target": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 280 + } + ] + }, + { + "source": { + "block": "81007b10-df78-450d-9b82-63a608182109", + "port": "outlabel" + }, + "target": { + "block": "d5202de9-f599-44eb-91b0-9cc066d99cb2", + "port": "in", + "size": 2 + }, + "size": 2 + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" + } + }, + { + "source": { + "block": "d6a82240-c57a-4c49-b29c-568e23a472e7", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "d6a82240-c57a-4c49-b29c-568e23a472e7", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "b880b0be-c9d6-4195-a41d-1aeb18086865", + "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + }, + "target": { + "block": "f47f4f14-48b2-4225-b678-67be60f08f36", + "port": "inlabel" + } + }, + { + "source": { + "block": "b3dbbf7b-9a46-4e81-b2d1-ede276c46ef2", + "port": "outlabel" + }, + "target": { + "block": "062c6b77-768c-4d7e-97b1-b87c99ca6bb4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" + }, + "target": { + "block": "062c6b77-768c-4d7e-97b1-b87c99ca6bb4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" + }, + "target": { + "block": "efc77998-2cbe-4f54-aa2f-847344dad59a", + "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" + } + }, + { + "source": { + "block": "efc77998-2cbe-4f54-aa2f-847344dad59a", + "port": "b6fd8801-3a4e-48a3-965c-b6da861d4d69" + }, + "target": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "0dfd20c3-5515-445d-a983-ab5eb463a643" + }, + "size": 2 + }, + { + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } + }, + { + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "d6a82240-c57a-4c49-b29c-568e23a472e7", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "ca5759cf-fc96-4d75-8a59-3a8087cad1bf" + }, + "target": { + "block": "b880b0be-c9d6-4195-a41d-1aeb18086865", + "port": "2d2166e3-8e0c-4c45-8a53-225a2fa52197" + }, + "size": 2 + }, + { + "source": { + "block": "22d9327f-e1c3-423d-85ee-54b95e4fef4a", + "port": "constant-out" + }, + "target": { + "block": "b880b0be-c9d6-4195-a41d-1aeb18086865", + "port": "437fac17-b8b4-4d9f-8d03-27300b3b9466" + } + }, + { + "source": { + "block": "a7e0bb23-287d-4c38-861e-c79cf61fb426", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" + }, + "vertices": [ + { + "x": 824, + "y": -120 + } + ] + }, + { + "source": { + "block": "062c6b77-768c-4d7e-97b1-b87c99ca6bb4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "5abef7c7-c7aa-48b4-aa2c-d0793c9128bf", + "port": "1c15aadf-6c5c-4e4d-a348-83295f4bad96" + }, + "vertices": [ + { + "x": 1504, + "y": -184 + } + ] + } + ] + } + } + }, + "81be9d4770c09acc01e75d9ba7bbce1a3b067da1": { + "package": { + "name": "sum-1op-2bits", + "version": "0.1", + "description": "Sumador de un operando de 2 bits con una constante pasada como parámetro (No hay accarreo)", + "author": "Juan González-Gómez", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "ab6da1db-4b52-45d3-aa03-5f37ed6719fe", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 208, + "y": 192 + } + }, + { + "id": "b6fd8801-3a4e-48a3-965c-b6da861d4d69", + "type": "basic.output", + "data": { + "name": "", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 672, + "y": 192 + } + }, + { + "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 448, + "y": 96 + } + }, + { + "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "type": "basic.code", + "data": { + "code": "assign s = a + k;", + "params": [ + { + "name": "k" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "s", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": 384, + "y": 192 + }, + "size": { + "width": 216, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "port": "constant-out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "k" + } + }, + { + "source": { + "block": "ab6da1db-4b52-45d3-aa03-5f37ed6719fe", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "a" + }, + "size": 2 + }, + { + "source": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "s" + }, + "target": { + "block": "b6fd8801-3a4e-48a3-965c-b6da861d4d69", + "port": "in" + }, + "size": 2 + } + ] + } + } + }, + "f05b5a0b0134e734d84db87805a8811718a62b51": { + "package": { + "name": "Igual-1-op", + "version": "0.1", + "description": "Comparador de igualdad, de un operando de 2 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 616, + "y": 160 + } + }, + { + "id": "2d2166e3-8e0c-4c45-8a53-225a2fa52197", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 152, + "y": 160 + } + }, + { + "id": "437fac17-b8b4-4d9f-8d03-27300b3b9466", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 408, + "y": 48 + } + }, + { + "id": "9c811723-c900-4ceb-9989-036b071ee3fe", + "type": "basic.code", + "data": { + "code": "assign eq = (a == B);", + "params": [ + { + "name": "B" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "eq" + } + ] + } + }, + "position": { + "x": 344, + "y": 160 + }, + "size": { + "width": 224, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "eq" + }, + "target": { + "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "port": "in" + } + }, + { + "source": { + "block": "437fac17-b8b4-4d9f-8d03-27300b3b9466", + "port": "constant-out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "B" + } + }, + { + "source": { + "block": "2d2166e3-8e0c-4c45-8a53-225a2fa52197", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "a" + }, + "size": 2 + } + ] + } + } + }, + "099e7fc3e908bb2fdd70f54d4838a302d48e4692": { + "package": { + "name": "Registro CLONE", + "version": "0.1-c1584553929055", + "description": "Registro de 2 bits con reset", + "author": "Juan González-Gómez (Obijuan) [Modificado por otro usuario.]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 80, + "y": 160 + } + }, + { + "id": "1c15aadf-6c5c-4e4d-a348-83295f4bad96", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 80, + "y": 216 + } + }, + { + "id": "ca5759cf-fc96-4d75-8a59-3a8087cad1bf", + "type": "basic.output", + "data": { + "name": "q", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 632, + "y": 248 + } + }, + { + "id": "0dfd20c3-5515-445d-a983-ab5eb463a643", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 80, + "y": 272 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 328 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 2;\n\nreg [N-1:0] q = 0;\n\nalways @(posedge clk)\n if (rst)\n q <= 0;\n else\n if (load)\n q <= d;", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[1:0]", + "size": 2 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 288, + "height": 200 + } + } + ], + "wires": [ + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "load" + } + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + }, + { + "source": { + "block": "0dfd20c3-5515-445d-a983-ab5eb463a643", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 2 + }, + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "ca5759cf-fc96-4d75-8a59-3a8087cad1bf", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "1c15aadf-6c5c-4e4d-a348-83295f4bad96", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "rst" + } + } + ] + } + } + }, + "b6cd2c443400eff3c7a103f076fd8aebbd056aa8": { + "package": { + "name": "Expander_bus", + "version": "0.1", + "description": "Convierte un bus de 8 bits en otro de 10 bits.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22354.768%22%20height=%22241.058%22%20viewBox=%220%200%20332.59488%20225.99247%22%3E%3Cpath%20d=%22M168.377%2077.643l61.148-60.938C240.209%206.25%20254.559.461%20269.485.5h62.61v224.992h-62.612c-14.924.04-29.463-5.9-40.204-16.28l-60.902-60.863a29.857%2029.857%200%200%200-21.347-8.81L.5%20139.426V86.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", + "otid": 1583225711588 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "64933677-8f17-4ab2-8746-22c4c62e1581", + "type": "basic.input", + "data": { + "name": "in", + "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, + "clock": false + }, + "position": { + "x": 360, + "y": 280 + } + }, + { + "id": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4", + "type": "basic.output", + "data": { + "name": "out", + "range": "[9:0]", + "pins": [ + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 992, + "y": 280 + } + }, + { + "id": "cbb223c6-6114-469f-9be6-38eb74865833", + "type": "basic.code", + "data": { + "code": "assign out = in;", + "params": [], + "ports": { + "in": [ + { + "name": "in", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "out", + "range": "[9:0]", + "size": 10 + } + ] + } + }, + "position": { + "x": 576, + "y": 240 + }, + "size": { + "width": 304, + "height": 136 + } + } + ], + "wires": [ + { + "source": { + "block": "64933677-8f17-4ab2-8746-22c4c62e1581", + "port": "out" + }, + "target": { + "block": "cbb223c6-6114-469f-9be6-38eb74865833", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "cbb223c6-6114-469f-9be6-38eb74865833", + "port": "out" + }, + "target": { + "block": "afa49a9c-c4d7-4819-b11c-e93c6285d5e4", + "port": "in" + }, + "size": 10 + } + ] + } + } + }, + "80c0a564fd327f0f481ce4233b4b07601d4243af": { + "package": { + "name": "XY_to_nBit_nByte_map_GHT", + "version": "0.1", + "description": "Depending on the position (x, y) it calculates the data (byte) and the memory location to be saved.", + "author": "Democrito", + "image": "%3Csvg%20viewBox=%220%200%2032%2032%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d=%22M16%206.958a1%201%200%200%201-1-1V2.042a1%201%200%200%201%202%200v3.917a1%201%200%200%201-1%201zM11%207a1%201%200%200%201-1-1V2a1%201%200%200%201%202%200v4a1%201%200%200%201-1%201zM21%207a1%201%200%200%201-1-1V2a1%201%200%201%201%202%200v4a1%201%200%200%201-1%201zM16%2030.959a1%201%200%200%201-1-1v-3.917a1%201%200%200%201%202%200v3.916a1%201%200%200%201-1%201zM11%2031a1%201%200%200%201-1-1v-4a1%201%200%200%201%202%200v4a1%201%200%200%201-1%201zM21%2031a1%201%200%200%201-1-1v-4a1%201%200%201%201%202%200v4a1%201%200%200%201-1%201z%22%20fill=%22#4391B2%22/%3E%3Cg%3E%3Cpath%20d=%22M5.958%2017H2.042a1%201%200%200%201%200-2h3.917a1%201%200%200%201%200%202zM6%2022H2a1%201%200%200%201%200-2h4a1%201%200%200%201%200%202zM6%2012H2a1%201%200%200%201%200-2h4a1%201%200%200%201%200%202zM29.958%2017h-3.916a1%201%200%201%201%200-2h3.916a1%201%200%201%201%200%202zM30%2022h-4a1%201%200%201%201%200-2h4a1%201%200%201%201%200%202zM30%2012h-4a1%201%200%201%201%200-2h4a1%201%200%201%201%200%202z%22%20fill=%22#4391B2%22/%3E%3C/g%3E%3Cg%3E%3Cpath%20d=%22M27%206v20c0%20.55-.45%201-1%201H6c-.55%200-1-.45-1-1V6c0-.55.45-1%201-1h20c.55%200%201%20.45%201%201z%22%20fill=%22#48B1DD%22/%3E%3C/g%3E%3Cg%3E%3Cpath%20d=%22M23%2012v8c0%201.65-1.35%203-3%203h-8c-1.65%200-3-1.35-3-3v-8c0-1.65%201.35-3%203-3h8c1.65%200%203%201.35%203%203z%22%20fill=%22#96CEE5%22/%3E%3C/g%3E%3C/svg%3E", + "otid": 1580604453701 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "b2a380b5-21a5-44d8-99cd-b5046a6207e2", + "type": "basic.input", + "data": { + "name": "x", + "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, + "clock": false + }, + "position": { + "x": -640, + "y": 136 + } + }, + { + "id": "220ab9cf-4fca-4276-a7be-829f17bbad26", + "type": "basic.output", + "data": { + "name": "a", + "range": "[9:0]", + "pins": [ + { + "index": "9", + "name": "", + "value": "" + }, + { + "index": "8", + "name": "", + "value": "" + }, + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 856, + "y": 216 + } + }, + { + "id": "75abd681-6a7e-49b0-82fa-ff67c7c28f12", + "type": "basic.input", + "data": { + "name": "y", + "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, + "clock": false + }, + "position": { + "x": -640, + "y": 296 + } + }, + { + "id": "d10795da-37b1-4981-b610-55450a8a8c1c", + "type": "basic.output", + "data": { + "name": "d", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 848, + "y": 536 + } + }, + { + "id": "ac545cce-7f38-4fa1-ba8c-c52782f90b4a", + "type": "basic.code", + "data": { + "code": "assign e = y/8;", + "params": [], + "ports": { + "in": [ + { + "name": "y", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "e", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -440, + "y": 424 + }, + "size": { + "width": 240, + "height": 128 + } + }, + { + "id": "52d61f69-5ba7-42ff-8266-70491065f402", + "type": "basic.code", + "data": { + "code": "assign a = x+(e*128);\nassign d = 1 << mod8;", + "params": [], + "ports": { + "in": [ + { + "name": "x", + "range": "[7:0]", + "size": 8 + }, + { + "name": "y", + "range": "[7:0]", + "size": 8 + }, + { + "name": "e", + "range": "[7:0]", + "size": 8 + }, + { + "name": "mod8", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "a", + "range": "[9:0]", + "size": 10 + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 328, + "y": 88 + }, + "size": { + "width": 392, + "height": 640 + } + }, + { + "id": "48772170-3227-4c61-b08a-1498d0789f26", + "type": "basic.code", + "data": { + "code": "assign m = y-(i*8);", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + }, + { + "name": "y", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "m", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -104, + "y": 584 + }, + "size": { + "width": 312, + "height": 120 + } + }, + { + "id": "93443128-06b1-40c5-ac79-9650e950d408", + "type": "basic.info", + "data": { + "info": "# Depending on the position (x, y) it calculates the data (byte) and the memory location to be saved.", + "readonly": true + }, + "position": { + "x": -464, + "y": 40 + }, + "size": { + "width": 736, + "height": 32 + } + }, + { + "id": "9099da9a-dd3b-4ca9-b035-96c1f1b8b5f6", + "type": "basic.info", + "data": { + "info": "Address Memory", + "readonly": true + }, + "position": { + "x": 848, + "y": 192 + }, + "size": { + "width": 112, + "height": 32 + } + }, + { + "id": "44c1297a-71a6-4ec6-9694-7c502dd8d609", + "type": "basic.info", + "data": { + "info": "Data Memory", + "readonly": true + }, + "position": { + "x": 848, + "y": 512 + }, + "size": { + "width": 112, + "height": 32 + } + } + ], + "wires": [ + { + "source": { + "block": "b2a380b5-21a5-44d8-99cd-b5046a6207e2", + "port": "out" + }, + "target": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "x" + }, + "size": 8 + }, + { + "source": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "a" + }, + "target": { + "block": "220ab9cf-4fca-4276-a7be-829f17bbad26", + "port": "in" + }, + "size": 10 + }, + { + "source": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "d" + }, + "target": { + "block": "d10795da-37b1-4981-b610-55450a8a8c1c", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "75abd681-6a7e-49b0-82fa-ff67c7c28f12", + "port": "out" + }, + "target": { + "block": "ac545cce-7f38-4fa1-ba8c-c52782f90b4a", + "port": "y" + }, + "size": 8 + }, + { + "source": { + "block": "ac545cce-7f38-4fa1-ba8c-c52782f90b4a", + "port": "e" + }, + "target": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "e" + }, + "size": 8 + }, + { + "source": { + "block": "75abd681-6a7e-49b0-82fa-ff67c7c28f12", + "port": "out" + }, + "target": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "y" + }, + "size": 8 + }, + { + "source": { + "block": "48772170-3227-4c61-b08a-1498d0789f26", + "port": "m" + }, + "target": { + "block": "52d61f69-5ba7-42ff-8266-70491065f402", + "port": "mod8" + }, + "size": 8 + }, + { + "source": { + "block": "ac545cce-7f38-4fa1-ba8c-c52782f90b4a", + "port": "e" + }, + "target": { + "block": "48772170-3227-4c61-b08a-1498d0789f26", + "port": "i" + }, + "size": 8 + }, + { + "source": { + "block": "75abd681-6a7e-49b0-82fa-ff67c7c28f12", + "port": "out" + }, + "target": { + "block": "48772170-3227-4c61-b08a-1498d0789f26", + "port": "y" + }, + "vertices": [ + { + "x": -488, + "y": 568 + } + ], + "size": 8 + } + ] + } + } + }, + "2af2866c481431e1fb023698d626ea8852559c82": { + "package": { + "name": "Config_Initial_OLED_LFG37", + "version": "0.1", + "description": "Initialize and configure the OLED screen.", + "author": "Democrito & Joaquim", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22307.515%22%20width=%22289.9%22%20viewBox=%220%200%20289.89996%20307.5152%22%3E%3Cpath%20d=%22M160.432%20113.123a23.975%2019.467%200%200%201%2010.948-2.124%2023.93%2019.43%200%200%201%2016.987%205.693l9.785-7.944c24.212%206.89%2052.216%202.48%2071.572-13.236%2016.287-13.225%2022.71-31.42%2019.281-48.57a6.276%205.096%200%200%200-4.266-4.035%206.274%205.095%200%200%200-6.369%201.243l-14.527%2011.796c-11.831%209.607-31.014%209.607-42.844%200-11.832-9.606-11.832-25.182%200-34.788l14.527-11.796a6.277%205.097%200%200%200-3.438-8.635c-21.121-2.784-43.53%202.43-59.816%2015.655-19.643%2015.95-24.93%2039.13-15.895%2058.988l-21.22%2017.23zm-38.669%2031.223l-25.17-20.437-88.01%2071.462c-11.444%209.293-11.444%2024.358%200%2033.65%2011.444%209.293%2029.998%209.293%2041.442%200l75.87-61.604c-7.652-6.247-9.03-15.678-4.132-23.07z%22%20fill=%22#00f%22/%3E%3Cpath%20d=%22M177.898%20125.266c-1.8-1.46-4.16-2.192-6.518-2.192-2.359%200-4.719.73-6.518%202.192l-5.254%204.267-93.59-75.994%204.374-3.552c3.986-3.236%203.491-8.603-1.052-11.32L31.156%2015.834a9.218%207.485%200%200%200-11.985.734L2.958%2029.733a9.218%207.485%200%200%200-.904%209.73l28.12%2031.006c3.346%203.688%209.953%204.094%2013.941.854l4.375-3.552%2093.59%2075.993-5.624%204.566a9.218%207.485%200%200%200%200%2010.586l86.34%2070.106c11.443%209.292%2029.997%209.292%2041.441%200%2011.444-9.293%2011.444-24.358%200-33.65z%22%20fill=%22teal%22/%3E%3Ctext%20transform=%22scale(1.15829%20.86334)%22%20font-size=%2281.303%22%20y=%22339.082%22%20x=%22116.377%22%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20font-weight=%22700%22%20word-spacing=%220%22%20letter-spacing=%220%22%20font-family=%22Arial%22%20text-anchor=%22middle%22%20fill=%22red%22%20stroke-width=%222.12%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%20y=%22339.082%22%20x=%22125.828%22%3EConfig%3C/tspan%3E%3C/text%3E%3C/svg%3E", + "otid": 1576415848148 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0aa4ce98-88cf-49f9-8642-0c9541f87784", + "type": "basic.input", + "data": { + "name": "", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": true + }, + "position": { + "x": 344, + "y": 56 + } + }, + { + "id": "ba495e79-f312-4148-9c94-031573f6b701", + "type": "basic.output", + "data": { + "name": "busy", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1176, + "y": 120 + } + }, + { + "id": "ad04dc25-b08a-422c-8ff8-68b2ab5ae636", + "type": "basic.output", + "data": { + "name": "d", + "range": "[7:0]", + "pins": [ + { + "index": "7", + "name": "", + "value": "" + }, + { + "index": "6", + "name": "", + "value": "" + }, + { + "index": "5", + "name": "", + "value": "" + }, + { + "index": "4", + "name": "", + "value": "" + }, + { + "index": "3", + "name": "", + "value": "" + }, + { + "index": "2", + "name": "", + "value": "" + }, + { + "index": "1", + "name": "", + "value": "" + }, + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1176, + "y": 256 + } + }, + { + "id": "d204b53d-14f0-408b-892f-7ed13084d9c3", + "type": "basic.output", + "data": { + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1176, + "y": 304 + } + }, + { + "id": "c55c2961-8f77-4f83-9b16-0b486d1500db", + "type": "basic.input", + "data": { + "name": "stop", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 344, + "y": 328 + } + }, + { + "id": "043e7f35-ec8a-4187-bdef-638222f18341", + "type": "basic.output", + "data": { + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 1176, + "y": 352 + } + }, + { + "id": "4413d55c-9e9c-4bb6-9f12-37a0f3093ca1", + "type": "basic.input", + "data": { + "name": "next", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "clock": false + }, + "position": { + "x": 344, + "y": 384 + } + }, + { + "id": "2c0d2a36-041c-41bd-870a-e27680e540b7", + "type": "basic.constant", + "data": { + "name": "ms", + "value": "500", + "local": true + }, + "position": { + "x": 576, + "y": 128 + } + }, + { + "id": "a572f508-bc8e-4b9a-a6af-cf06fc3c2371", + "type": "0a6cbed722ec27aad536f9305b8770282dee40cf", + "position": { + "x": 576, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "77557485-55e3-4120-8b3d-fcc7b3891ce5", + "type": "basic.info", + "data": { + "info": "Damos un tiempo para que la pantalla esté lista para recibir datos.", + "readonly": true + }, + "position": { + "x": 480, + "y": 120 + }, + "size": { + "width": 96, + "height": 32 + } + }, + { + "id": "904535be-fd3b-4f63-9f08-c2e4dc5e56c2", + "type": "basic.info", + "data": { + "info": "# Inicialización y configuración de la pantalla Oled.", + "readonly": true + }, + "position": { + "x": 496, + "y": 8 + }, + "size": { + "width": 624, + "height": 32 + } + }, + { + "id": "e59328dd-ec49-4139-9347-3399c4d41260", + "type": "basic.info", + "data": { + "info": "Memoria de 32 bytes.\nContiene los comandos de inicio y configuración.", + "readonly": true + }, + "position": { + "x": 1000, + "y": 168 + }, + "size": { + "width": 144, + "height": 40 + } + }, + { + "id": "105dabe7-7828-4619-9130-fe8b38e8e63a", + "type": "f17a21b62c40466a8842c5a45457be898e13c960", + "position": { + "x": 1000, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5531a733-45cc-49e6-a056-32f48d49076a", + "type": "0ee3001ed1825d56c4b16ca693625905d527dc94", + "position": { + "x": 768, + "y": 256 + }, + "size": { + "width": 96, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "2c0d2a36-041c-41bd-870a-e27680e540b7", + "port": "constant-out" + }, + "target": { + "block": "a572f508-bc8e-4b9a-a6af-cf06fc3c2371", + "port": "65c85742-9f02-4750-bef5-6383c327f552" + }, + "vertices": [] + }, + { + "source": { + "block": "105dabe7-7828-4619-9130-fe8b38e8e63a", + "port": "d9ccd8eb-434c-40d1-b491-17e5d8378271" + }, + "target": { + "block": "ad04dc25-b08a-422c-8ff8-68b2ab5ae636", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "0aa4ce98-88cf-49f9-8642-0c9541f87784", + "port": "out" + }, + "target": { + "block": "a572f508-bc8e-4b9a-a6af-cf06fc3c2371", + "port": "a84f120d-9b95-4a69-a021-773b0637c657" + }, + "vertices": [ + { + "x": 464, + "y": 216 + } + ] + }, + { + "source": { + "block": "0aa4ce98-88cf-49f9-8642-0c9541f87784", + "port": "out" + }, + "target": { + "block": "105dabe7-7828-4619-9130-fe8b38e8e63a", + "port": "0b91cb0d-4144-4939-8755-e331104016db" + }, + "vertices": [ + { + "x": 952, + "y": 184 + } + ] + }, + { + "source": { + "block": "a572f508-bc8e-4b9a-a6af-cf06fc3c2371", + "port": "9b5dbdc2-e548-4504-9872-7334f7dda6c0" + }, + "target": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "8f591b24-0427-409f-aa6e-ca1861556cf5" + } + }, + { + "source": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "cd305a37-c793-4816-9ca8-6f982f0f4b3b" + }, + "target": { + "block": "105dabe7-7828-4619-9130-fe8b38e8e63a", + "port": "59d362df-8612-45ad-b9cc-501c33553c1d" + }, + "size": 8 + }, + { + "source": { + "block": "c55c2961-8f77-4f83-9b16-0b486d1500db", + "port": "out" + }, + "target": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "89114256-b9b2-42e4-aa2a-009b16813eff" + }, + "vertices": [ + { + "x": 712, + "y": 336 + } + ] + }, + { + "source": { + "block": "0aa4ce98-88cf-49f9-8642-0c9541f87784", + "port": "out" + }, + "target": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "cb426e3d-ace3-4a57-a74b-155caed0c14c" + } + }, + { + "source": { + "block": "4413d55c-9e9c-4bb6-9f12-37a0f3093ca1", + "port": "out" + }, + "target": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "ad4d0fc2-118e-496e-b292-c435bad20e7d" + } + }, + { + "source": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "73948305-b05b-418f-88af-11328f400cdc" + }, + "target": { + "block": "d204b53d-14f0-408b-892f-7ed13084d9c3", + "port": "in" + }, + "vertices": [ + { + "x": 1072, + "y": 336 + } + ] + }, + { + "source": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "49221b19-132a-4e3f-9a1f-97bcd463391b" + }, + "target": { + "block": "043e7f35-ec8a-4187-bdef-638222f18341", + "port": "in" + }, + "vertices": [ + { + "x": 1136, + "y": 384 + } + ] + }, + { + "source": { + "block": "5531a733-45cc-49e6-a056-32f48d49076a", + "port": "6a11eaf9-4bd5-405e-81f8-44418365326b" + }, + "target": { + "block": "ba495e79-f312-4148-9c94-031573f6b701", + "port": "in" + }, + "vertices": [ + { + "x": 912, + "y": 152 + } + ] + } + ] + } + } + }, + "0a6cbed722ec27aad536f9305b8770282dee40cf": { + "package": { + "name": "IniTic", + "version": "0.1", + "description": "Emite un solo tic al iniciarse la FPGA.", + "author": "FPGAwars", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22197.514%22%20height=%22161.086%22%20viewBox=%220%200%2052.259014%2042.62059%22%3E%3Ctext%20y=%2210.088%22%20x=%2210.102%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2215.216%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.282%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2210.088%22%20x=%2210.102%22%20font-weight=%22700%22%20font-size=%228.695%22%3EOneTic%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22matrix(1.04946%200%200%20.9502%20-78.834%20-43.462)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "a84f120d-9b95-4a69-a021-773b0637c657", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 1264, + "y": 384 + } + }, + { + "id": "9b5dbdc2-e548-4504-9872-7334f7dda6c0", + "type": "basic.output", + "data": { + "name": "oneTic" + }, + "position": { + "x": 2040, + "y": 424 + } + }, + { + "id": "65c85742-9f02-4750-bef5-6383c327f552", + "type": "basic.constant", + "data": { + "name": "delay", + "value": "500", + "local": false + }, + "position": { + "x": 1856, + "y": 264 + } + }, + { + "id": "d590dacb-0d0b-44f7-b3fa-b11a65c028cd", + "type": "basic.info", + "data": { + "info": "Este circuito emite un solo \"tic\" después de transcurrir\n500ms de iniciarse la FPGA.", + "readonly": true + }, + "position": { + "x": 1384, + "y": 184 + }, + "size": { + "width": 480, + "height": 64 + } + }, + { + "id": "257ed65c-915d-4a9a-b75f-c5a56de94747", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": 1264, + "y": 456 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "2a70acce-d174-496e-85b7-698329af793d", + "type": "af48ebc63c0bdb7fd04dc2a9583c4ebb2248168f", + "position": { + "x": 1448, + "y": 440 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "bc24451e-e458-4f1a-9f22-122a90f4dec5", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": 1640, + "y": 424 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8e452ee0-dd8d-4ac9-9e7c-af12fffdf512", + "type": "f91a2729e24bdc5bb7370785202c65c6526d7a01", + "position": { + "x": 1856, + "y": 408 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "257ed65c-915d-4a9a-b75f-c5a56de94747", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "2a70acce-d174-496e-85b7-698329af793d", + "port": "3e08d30f-4cc5-4c7b-a1ea-009d5795aaed" + } + }, + { + "source": { + "block": "a84f120d-9b95-4a69-a021-773b0637c657", + "port": "out" + }, + "target": { + "block": "2a70acce-d174-496e-85b7-698329af793d", + "port": "3eab6a54-662e-4398-81a1-e4c1d7285191" + } + }, + { + "source": { + "block": "65c85742-9f02-4750-bef5-6383c327f552", + "port": "constant-out" + }, + "target": { + "block": "8e452ee0-dd8d-4ac9-9e7c-af12fffdf512", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + } + }, + { + "source": { + "block": "2a70acce-d174-496e-85b7-698329af793d", + "port": "73f2857d-3f7f-45c2-92f5-c550285b4e71" + }, + "target": { + "block": "bc24451e-e458-4f1a-9f22-122a90f4dec5", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + } + }, + { + "source": { + "block": "bc24451e-e458-4f1a-9f22-122a90f4dec5", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "8e452ee0-dd8d-4ac9-9e7c-af12fffdf512", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + } + }, + { + "source": { + "block": "8e452ee0-dd8d-4ac9-9e7c-af12fffdf512", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "9b5dbdc2-e548-4504-9872-7334f7dda6c0", + "port": "in" + } + }, + { + "source": { + "block": "a84f120d-9b95-4a69-a021-773b0637c657", + "port": "out" + }, + "target": { + "block": "bc24451e-e458-4f1a-9f22-122a90f4dec5", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "a84f120d-9b95-4a69-a021-773b0637c657", + "port": "out" + }, + "target": { + "block": "8e452ee0-dd8d-4ac9-9e7c-af12fffdf512", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + } + } + ] + } + } + }, + "f91a2729e24bdc5bb7370785202c65c6526d7a01": { + "package": { + "name": "timer-msec", + "version": "0.1", + "description": "Temporizador en milisegundos. La señal p está activa durante el tiempo indicado. Por tic se emite un tic al finalizar", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20293.13756%20181.35395%22%20width=%22293.137%22%20height=%22181.354%22%3E%3Ccircle%20cx=%22149.086%22%20cy=%2290.681%22%20r=%2270.101%22%20fill=%22#fff%22/%3E%3Cpath%20d=%22M149.086%2013.679c-42.531%200-77.003%2034.472-77.003%2077.002%200%2042.531%2034.472%2077.003%2077.003%2077.003%2042.53%200%2077.003-34.472%2077.003-77.003%200-42.53-34.472-77.002-77.003-77.002zm0%20145.175c-37.673%200-68.173-30.539-68.173-68.173%200-37.633%2030.539-68.172%2068.173-68.172%2037.633%200%2068.172%2030.539%2068.172%2068.172%200%2037.634-30.538%2068.173-68.172%2068.173z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M146.772%2030.683h4.627v18.2h-4.627zM89.125%2092.965v-4.627h18.2v4.627zm62.261%2057.665h-4.627v-18.2h4.627zm57.647-62.28v4.628h-18.2V88.35zM105.044%2049.905l3.272-3.272%2012.87%2012.87-3.273%203.271zm3.28%2084.79l-3.27-3.272%2012.868-12.87%203.272%203.272zm84.774-3.265l-3.272%203.273-12.87-12.87%203.273-3.272zM189.85%2046.64l3.272%203.272-12.87%2012.87-3.271-3.272z%22%20fill=%22#333%22/%3E%3Ccircle%20cx=%22149.086%22%20cy=%2290.681%22%20r=%224.781%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M149.795%2070.653l2.722.288-2.109%2019.9-2.722-.288z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M181.26%2072.13l1.276%202.422-32.859%2017.296-1.275-2.422z%22%20fill=%22#333%22/%3E%3Cpath%20d=%22M152.016%2080.386c-1.08%200-1.928.887-1.928%201.928%200%20.656.309%201.234.81%201.581l-14.691%2041.451%201.002.347%2014.691-41.45h.116c1.08%200%201.928-.888%201.928-1.929a1.934%201.934%200%200%200-1.928-1.928z%22%20fill=%22#cf000f%22/%3E%3Ctext%20y=%2244.949%22%20x=%221.863%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2269.516%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22scale(.99853%201.00147)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%221.289%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2244.949%22%20x=%221.863%22%20font-weight=%22700%22%20font-size=%2239.724%22%3Ems%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22matrix(2.99796%200%200%202.99796%20-53.023%20-84.502)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(2.99796%200%200%202.99796%20-257.041%20-84.502)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ccircle%20cx=%22248.578%22%20cy=%2244.56%22%20r=%2243.648%22%20fill=%22#ececec%22%20stroke=%22green%22%20stroke-width=%221.824%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M279.216%2057.21h-5.01V30.018h-51.31v26.98h-5.456%22%20fill=%22none%22%20stroke=%22green%22%20stroke-width=%224.56%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c45dab76-9d0f-4742-9e4d-3048637d245d", + "type": "basic.output", + "data": { + "name": "p" + }, + "position": { + "x": 1224, + "y": 96 + } + }, + { + "id": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 472, + "y": 96 + } + }, + { + "id": "61d11f03-6fbc-4467-a947-d546fa6f6429", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 456, + "y": 304 + } + }, + { + "id": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454", + "type": "basic.output", + "data": { + "name": "tic" + }, + "position": { + "x": 1216, + "y": 304 + } + }, + { + "id": "7ca578e5-8e36-4c04-bbea-144418c8e9af", + "type": "basic.constant", + "data": { + "name": "", + "value": "100", + "local": false + }, + "position": { + "x": 848, + "y": -96 + } + }, + { + "id": "e6b9690b-1da7-4600-9015-0bbed31633e2", + "type": "basic.info", + "data": { + "info": "**Arranque del** \n**temporizador**", + "readonly": true + }, + "position": { + "x": 448, + "y": 264 + }, + "size": { + "width": 144, + "height": 56 + } + }, + { + "id": "f3af4211-e3df-4710-a0a8-96a035a833a9", + "type": "basic.info", + "data": { + "info": "**Salida de pulso**", + "readonly": true + }, + "position": { + "x": 1224, + "y": 72 + }, + "size": { + "width": 176, + "height": 40 + } + }, + { + "id": "a15228f1-41aa-494c-82fb-5491bf5fcc13", + "type": "basic.info", + "data": { + "info": "**Salida de tic**", + "readonly": true + }, + "position": { + "x": 1216, + "y": 280 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "204eb46d-dd4f-47cf-b0f3-c9095263d325", + "type": "basic.info", + "data": { + "info": "**Parametro del timer** \nmilisegundos a esperar", + "readonly": true + }, + "position": { + "x": 832, + "y": -128 + }, + "size": { + "width": 208, + "height": 56 + } + }, + { + "id": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "type": "basic.code", + "data": { + "code": "//localparam MS;\n\n//-- Constante para dividir y obtener una señal de \n//-- periodo 1ms\nlocalparam M = 12000;\n\n//-- Calcular el numero de bits para almacenar M\nlocalparam N = $clog2(M);\n\n//-- Cable de reset para el corazon\nwire rst_heart;\n\n//-- Overflow del temporizador del corazon\nwire ov_heart;\n\n//-- Habilitacion del corazon\nwire ena;\n\n//-- Tics del corazon\nwire tic_heart;\n\n//-- Contador del corazon\nreg [N-1:0] heart=0;\n\nalways @(posedge clk)\n if (rst_heart)\n heart <= 0;\n else\n heart <= heart + 1;\n\n//-- Overflow del contador\nassign ov_heart = (heart == M-1);\n\n//-- La salida del corazon es la señal de overflow\nassign tic_heart = ov_heart;\n\n//-- Reset del corazon\nassign rst_heart =~ena | ov_heart;\n\n\n\n//--------------------------------------------\n//-- Contador de tics\n//--------------------------------------------\n\n//-- Calcular el numero de bits para almacenar MS tics\nlocalparam CB = $clog2(MS);\n\nreg [CB-1:0] counter = 0;\n\n//-- Overflow del contador\nwire ov;\n\n//-- Señal de reset del contador\nwire rst;\n\nalways @(posedge clk)\nif (rst)\n counter <= 0;\nelse\n if (tic_heart)\n counter <= counter + 1;\n\n//-- Evento: cuenta máxima de tics alcanzada\nassign ov = (counter == MS);\n\n//---------------------------------------\n//-- Biestable de estado del timer\n//-- 0: Apagado \n//-- 1: Funcionando\nreg q = 0;\n\nalways @(posedge clk)\n if (start)\n q <= 1'b1;\n else if (rst)\n q<=1'b0;\n \n//-- Lógica de reset\n//En función de la entrada, el estado y \n// el overflow se inicializa el contador y \n// se habilita el corazón de tics\nassign rst = ~q | ov | start;\nassign ena = ~rst;\n\n//-- Salida de pulso\nassign p = q;\n\n//-- Salida de tic\n//-- Saca un tic cuando ha finalizado la cuenta\nassign tic = ov;\n", + "params": [ + { + "name": "MS" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "start" + } + ], + "out": [ + { + "name": "p" + }, + { + "name": "tic" + } + ] + } + }, + "position": { + "x": 632, + "y": 24 + }, + "size": { + "width": 520, + "height": 416 + } + } + ], + "wires": [ + { + "source": { + "block": "61d11f03-6fbc-4467-a947-d546fa6f6429", + "port": "out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "start" + } + }, + { + "source": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "p" + }, + "target": { + "block": "c45dab76-9d0f-4742-9e4d-3048637d245d", + "port": "in" + } + }, + { + "source": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "tic" + }, + "target": { + "block": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454", + "port": "in" + } + }, + { + "source": { + "block": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6", + "port": "out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "clk" + } + }, + { + "source": { + "block": "7ca578e5-8e36-4c04-bbea-144418c8e9af", + "port": "constant-out" + }, + "target": { + "block": "a66b0b7f-4692-489e-9140-fb81fef2a1c5", + "port": "MS" + } + } + ] + } + } + }, + "f17a21b62c40466a8842c5a45457be898e13c960": { + "package": { + "name": "Memory32BCLONE", + "version": "0.55", + "description": "32 bytes memory.", + "author": "Juan González-Gómez (Obijuan) [Modificado por otro usuario.]", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.238%22%20height=%22263.284%22%20viewBox=%220%200%2057.212849%2069.660614%22%3E%3Cpath%20fill=%22#fc0%22%20d=%22M15.908%202.487h39.374v10.857H15.908z%22/%3E%3Cpath%20d=%22M5.253%2069.558c-.593-.189-.902-.383-1.306-.821-.695-.755-.698-.77-.752-3.905l-.048-2.793-1.161-.046c-1.296-.05-1.507-.136-1.83-.735-.163-.304-.17-.666-.146-8.483.024-8.14.024-8.167.217-8.425.376-.505.71-.621%201.89-.657l1.076-.033V11.584l5.793-5.792L14.778%200l20.19.024%2020.19.023.495.274a3.177%203.177%200%200%201%201.334%201.49c.182.426.186.614.207%209.957.012%205.238-.002%209.595-.029%209.684-.045.143-.198.16-1.464.16h-1.413v13.003h2.925l-.02%2016.413-.02%2016.414-.243.517a3.11%203.11%200%200%201-1.41%201.455l-.453.225-24.724.018c-19.768.013-24.797-.006-25.09-.1zM23.063%207.83V2.84h-5.677v9.98h5.677zm7.784%200V2.84h-5.678v9.98h5.678zm7.874%200V2.84h-5.677v9.98h5.677zm7.784%200V2.84h-5.677v9.98h5.677zM54.3%209.09l.017-4.968.003-1.236-2.855-.024-2.856-.024v9.983h5.678z%22%20fill=%22#00f%22/%3E%3Cg%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20font-family=%22ubuntu%22%20fill=%22#fff%22%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22108.954%22%20y=%22182.548%22%20font-size=%2210.125%22%20stroke-width=%22.265%22%20transform=%22translate(-78.502%20-120.48)%22%3E%3Ctspan%20x=%22108.954%22%20y=%22182.548%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%3EMemory%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:'Arial%20Bold';text-align:center%22%20x=%2236.341%22%20y=%2228.197%22%20font-size=%2216.195%22%20transform=%22scale(.74231%201.34714)%22%20font-weight=%22700%22%20font-family=%22Arial%22%20stroke-width=%22.423%22%3E%3Ctspan%20x=%2238.223%22%20y=%2228.197%22%20style=%22-inkscape-font-specification:'Arial%20Bold'%22%3E32%20Bytes%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0b91cb0d-4144-4939-8755-e331104016db", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 128, + "y": 248 + } + }, + { + "id": "d9ccd8eb-434c-40d1-b491-17e5d8378271", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 960, + "y": 376 + } + }, + { + "id": "59d362df-8612-45ad-b9cc-501c33553c1d", + "type": "basic.input", + "data": { + "name": "a", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 128, + "y": 496 + } + }, + { + "id": "40876560-2d0c-43ee-b05e-6e37ef909b6f", + "type": "basic.memory", + "data": { + "name": "ConfigOLED", + "list": "78 // Byte de dirección.\r\n00 // Comando que significa que todo lo que venga ahora son comandos de configuración. (Este comando va precedido siempre por el byte de dirección del I2C, en este caso '78'.)\r\nAE // Apagar pantalla.\r\n2E // Desactiva scroll.\r\n20 // Modo de escritura horizontal;\r\n00 // en mi modelo no hace falta enviar este comando porque por defecto utiliza este modo.\r\nA4 // Lo que esté en memoria es lo que ha de representar.\r\n7F // Contraste,\r\nFF // en teoría este valor tiene que estar entre 0x00 (min) y 0xFF (max).\r\nA8 // Establecer el máximo de filas a 0x0F = 63\r\n3F // es decir, ira de 0 a 63, por tanto tenemos 64 filas de pixeles.\r\nD3 // El offset\r\n00 // vale 0.\r\n40 // Poner el comienzo de línea a 0.\r\nA1 // Invertir o no el eje X de pantalla. Con 'A0' invierte a como lo ves.\r\nC8 // Invertir o no el eje Y de pantalla. Con 'C0' invierte a como lo ves.\r\nDA // Mapear los pines COM;\r\n12 // si el mapeo no te funciona con '12', prueba con '02'. \r\nA6 // A6 Pone la pantalla en modo Normal; A7 pone la pantalla en modo invertido, en el sentido de un negativo fotográfico.\r\nD5 // Establece la velocidad del Oscilador;\r\n00 // la cifra de la izquierda, si el valor es demasiado alto aparecen líneas horizontales aleatorias y oscuras intermitentes. La cifra de la derecha afecta al refresco de la pantalla. El valor por defecto es 80.\r\n8D // Activa el 'charge pump'\r\n14 // ?\r\n21 // Columnas de 0 a 127\r\n00\r\n7F\r\n22 // Páginas de 0 a 7\r\n00\r\n07\r\nAF // Enciende pantalla.\r\n/* ------- Ir a esta web para más información sobre la configuración: https://iotexpert.com/2019/08/07/debugging-ssd1306-display-problems/ -------\r\n////////////////////////////////////////////////////////////////////////\r\n// Fundamental Command Table Page 28\r\n////////////////////////////////////////////////////////////////////////\r\n#define OLED_SETCONTRAST 0x81\r\n// 0x81 + 0-0xFF Contrast ... reset = 0x7F\r\n \r\n// A4/A5 commands to resume displaying data\r\n// A4 = Resume to RAM content display\r\n// A5 = Ignore RAM content (but why?)\r\n#define OLED_DISPLAYALLONRESUME 0xA4\r\n#define OLED_DISPLAYALLONIGNORE 0xA5\r\n \r\n// 0xA6/A7 Normal 1=white 0=black Inverse 0=white 1=black\r\n#define OLED_DISPLAYNORMAL 0xA6\r\n#define OLED_DISPLAYINVERT 0xA7\r\n \r\n// 0xAE/AF are a pair to turn screen off/on\r\n#define OLED_DISPLAYOFF 0xAE\r\n#define OLED_DISPLAYON 0xAF\r\n////////////////////////////////////////////////////////////////////////\r\n// Address Setting Command Table\r\n////////////////////////////////////////////////////////////////////////\r\n// 00-0F - set lower nibble of page address\r\n// 10-1F - set upper niddle of page address\r\n#define OLED_SETMEMORYMODE 0x20\r\n#define OLED_SETMEMORYMODE_HORIZONTAL 0x00\r\n#define OLED_SETMEMORYMODE_VERTICAL 0x01\r\n#define OLED_SETMEMORYMODE_PAGE 0x02\r\n// 0x20 + 00 = horizontal, 01 = vertical 2= page >=3=illegal\r\n// Only used for horizonal and vertical address modes\r\n#define OLED_SETCOLUMNADDR 0x21\r\n// 2 byte Parameter\r\n// 0-127 column start address \r\n// 0-127 column end address\r\n#define OLED_SETPAGEADDR 0x22\r\n// 2 byte parameter\r\n// 0-7 page start address\r\n// 0-7 page end Address\r\n// 0xB0 -0xB7 ..... Pick page 0-7\r\n////////////////////////////////////////////////////////////////////////\r\n// Hardware Configuration\r\n////////////////////////////////////////////////////////////////////////\r\n// 40-7F - set address startline from 0-127 (6-bits)\r\n#define OLED_SETSTARTLINE_ZERO 0x40\r\n\r\n// Y Direction\r\n#define OLED_SEGREMAPNORMAL 0xA0\r\n#define OLED_SEGREMAPINV 0xA1\r\n#define OLED_SETMULTIPLEX 0xA8\r\n// 0xA8, number of rows -1 ... e.g. 0xA8, 63\r\n\r\n// X Direction\r\n#define OLED_COMSCANINC 0xC0\r\n#define OLED_COMSCANDEC 0xC8\r\n// double byte with image wrap ...probably should be 0\r\n#define OLED_SETDISPLAYOFFSET 0xD3\r\n// Double Byte Hardware com pins configuration\r\n#define OLED_SETCOMPINS 0xDA\r\n// legal values 0x02, 0x12, 0x022, 0x032\r\n////////////////////////////////////////////////////////////////////////\r\n// Timing and Driving Scheme Settings\r\n////////////////////////////////////////////////////////////////////////\r\n#define OLED_SETDISPLAYCLOCKDIV 0xD5\r\n#define OLED_SETPRECHARGE 0xD9\r\n#define OLED_SETVCOMDESELECT 0xDB\r\n#define OLED_NOP 0xE3 */", + "local": true, + "format": 10 + }, + "position": { + "x": 488, + "y": -24 + }, + "size": { + "width": 184, + "height": 120 + } + }, + { + "id": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "type": "basic.code", + "data": { + "code": "//-- Anchura del bus de direcciones\nlocalparam ADDR_WIDTH = 5; // 32 bytes.\n\n//-- Tamano de la memoria\nlocalparam TAM = 1 << ADDR_WIDTH;\n\n//-- NO inicializar!\n//-- Si se inicializa a 0 o cualquier otro\n//-- valor no se infiere una RAM\nreg data_out;\n\n//-- Array para la memoria\nreg [7:0] mem_8 [TAM-1:0];\n\n//-- Puerto de lectura\n//-- Para que se infiera una RAM\n//-- debe ser una lectura sincrona\nalways @(posedge clk)\n //-- Puerto de lectura\n data_out <= mem_8[addr];\n\n\n//-- Inicializacion de la memoria\ninitial begin\n \n if (ROMF)\n $readmemh(ROMF, mem_8, 0, TAM-1);\nend", + "params": [ + { + "name": "ROMF" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "addr", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "data_out", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 312, + "y": 152 + }, + "size": { + "width": 536, + "height": 504 + } + } + ], + "wires": [ + { + "source": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "data_out" + }, + "target": { + "block": "d9ccd8eb-434c-40d1-b491-17e5d8378271", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "0b91cb0d-4144-4939-8755-e331104016db", + "port": "out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "clk" + } + }, + { + "source": { + "block": "59d362df-8612-45ad-b9cc-501c33553c1d", + "port": "out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "addr" + }, + "size": 8 + }, + { + "source": { + "block": "40876560-2d0c-43ee-b05e-6e37ef909b6f", + "port": "memory-out" + }, + "target": { + "block": "f5619044-1e4b-4218-bfc2-44eced6cb16a", + "port": "ROMF" + } + } + ] + } + } + }, + "0ee3001ed1825d56c4b16ca693625905d527dc94": { + "package": { + "name": "count-8bits CLONE", + "version": "0.1-c1577391247637", + "description": "Máquina de contar, de 8 bits, con entrada de stop", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20height=%22498.716%22%20width=%22422.648%22%3E%3Cpath%20d=%22M198.947%2079.637c-24.895%200-45.092%2020.196-45.092%2045.109%200%2024.886%2020.197%2045.126%2045.092%2045.126%2024.904%200%2044.953-20.24%2044.953-45.126%200-24.913-20.05-45.11-44.953-45.11zm90.41%2071.022l-8.128%2019.578%2014.497%2028.472%201.914%203.759-20.1%2020.1-32.98-15.575-19.578%208.04-9.937%2030.421-1.27%204.038h-28.411l-12.295-34.337-19.579-8.075-28.514%2014.462-3.76%201.88-20.091-20.083%2015.558-32.997-8.066-19.56-30.37-9.92-4.028-1.306v-28.393L108.58%2098.85l8.067-19.544-14.454-28.533-1.905-3.741%2020.065-20.066%2033.023%2015.55%2019.552-8.084%209.929-30.403L184.137%200h28.402l12.304%2034.38%2019.526%208.084%2028.524-14.471%203.794-1.906%2020.083%2020.066-15.558%2032.97%208.04%2019.588%2030.455%209.928%204.003%201.28v28.384z%22%20fill=%22#00f%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%22218.697%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22242.878%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22242.878%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M222.934%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%2210.608%22%20ry=%2210.608%22%20y=%22266.697%22%20x=%2292.408%22%20height=%22180.846%22%20width=%22111.64%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%225.658%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%22387.839%22%20x=%22109.261%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2233.946%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%225.658%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%22387.839%22%20x=%22109.261%22%20font-weight=%22700%22%20font-size=%22134.762%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M96.645%20361.162h104.934%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%228.487%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%20-277.4%20211.802)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2049.068%20210.797)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(3.23542%200%200%203.23542%2046.938%2063.192)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 592, + "y": -416 + } + }, + { + "id": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "type": "basic.inputLabel", + "data": { + "blockColor": "yellow", + "name": "clk", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 736, + "y": -416 + } + }, + { + "id": "81fb4efb-363e-483e-b1df-c2ebda777355", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1416, + "y": -352 + } + }, + { + "id": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "type": "basic.inputLabel", + "data": { + "blockColor": "red", + "name": "on", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 952, + "y": -304 + } + }, + { + "id": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst" + }, + "position": { + "x": 1416, + "y": -288 + } + }, + { + "id": "40607400-436e-4dea-b733-8308a06fd4ef", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 584, + "y": -224 + } + }, + { + "id": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "type": "basic.output", + "data": { + "name": "busy", + "virtual": true + }, + "position": { + "x": 2312, + "y": -216 + } + }, + { + "id": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2152, + "y": -216 + } + }, + { + "id": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "rst", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 952, + "y": -192 + } + }, + { + "id": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 584, + "y": -136 + } + }, + { + "id": "de68392f-0d66-49fd-9a29-2baca4f94330", + "type": "basic.inputLabel", + "data": { + "name": "cnt", + "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": "navy", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1824, + "y": -120 + } + }, + { + "id": "e027bdcc-b018-48ef-baa4-3f4fef85e72d", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[7:0]", + "blockColor": "navy", + "oldBlockColor": "fuchsia", + "size": 8 + }, + "position": { + "x": 1200, + "y": -104 + } + }, + { + "id": "9baa509b-0012-4e0e-b874-e62987258aa1", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 944, + "y": -72 + } + }, + { + "id": "cf76090d-15de-432c-b889-4a7382bafacb", + "type": "basic.outputLabel", + "data": { + "name": "cnt", + "range": "[7:0]", + "blockColor": "navy", + "size": 8 + }, + "position": { + "x": 2160, + "y": -72 + } + }, + { + "id": "cd305a37-c793-4816-9ca8-6f982f0f4b3b", + "type": "basic.output", + "data": { + "name": "n", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 2312, + "y": -72 + } + }, + { + "id": "89114256-b9b2-42e4-aa2a-009b16813eff", + "type": "basic.input", + "data": { + "name": "stop", + "clock": false + }, + "position": { + "x": 584, + "y": -40 + } + }, + { + "id": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1472, + "y": 16 + } + }, + { + "id": "5a3f8466-6a57-4607-939a-fb15222442a7", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true + }, + "position": { + "x": 920, + "y": 24 + } + }, + { + "id": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 104 + } + }, + { + "id": "73948305-b05b-418f-88af-11328f400cdc", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 2328, + "y": 104 + } + }, + { + "id": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1544, + "y": 136 + } + }, + { + "id": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "type": "basic.outputLabel", + "data": { + "blockColor": "red", + "name": "on", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 648, + "y": 152 + } + }, + { + "id": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "type": "basic.inputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1080, + "y": 168 + } + }, + { + "id": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": 616, + "y": 208 + } + }, + { + "id": "d8820925-23d9-4f02-8491-adf813601d08", + "type": "basic.outputLabel", + "data": { + "blockColor": "yellow", + "name": "clk" + }, + "position": { + "x": 1384, + "y": 208 + } + }, + { + "id": "a756b829-42d1-4779-b42d-a9acc3800854", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "done", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 248 + } + }, + { + "id": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 2320, + "y": 248 + } + }, + { + "id": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "type": "basic.outputLabel", + "data": { + "blockColor": "darkgreen", + "name": "cycle", + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 1384, + "y": 304 + } + }, + { + "id": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "type": "basic.inputLabel", + "data": { + "blockColor": "fuchsia", + "name": "exec", + "pins": [ + { + "index": "0", + "name": "", + "value": "" + } + ], + "virtual": true, + "oldBlockColor": "fuchsia" + }, + "position": { + "x": 2160, + "y": 320 + } + }, + { + "id": "10afc859-04fd-433d-823a-4fa4721320c1", + "type": "basic.outputLabel", + "data": { + "blockColor": "fuchsia", + "name": "start" + }, + "position": { + "x": 1680, + "y": 376 + } + }, + { + "id": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 1352, + "y": -208 + } + }, + { + "id": "374613cb-968d-46d1-94a4-16686e7df28d", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 1648, + "y": -256 + } + }, + { + "id": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "type": "438dedd956354c574afcde6f0793a7d369b2a031", + "position": { + "x": 752, + "y": -168 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "d76d4948-a798-448c-adfa-c03b511371e5", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1544, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "bd61136e-6597-4728-a8c3-141a1841150b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 808, + "y": 168 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1680, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1824, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e042b05f-b116-4a58-8aee-1bf2833ecb6b", + "type": "basic.info", + "data": { + "info": "**Reloj del sistema**", + "readonly": true + }, + "position": { + "x": 680, + "y": -472 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "09056d84-24ad-48b7-89c2-0d008ca64b89", + "type": "basic.info", + "data": { + "info": "**Estado de** \n**la máquina**", + "readonly": true + }, + "position": { + "x": 760, + "y": -248 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "02ad4d4d-3335-43e1-a671-4b00fc01c8be", + "type": "basic.info", + "data": { + "info": "Máquina encendida", + "readonly": true + }, + "position": { + "x": 936, + "y": -328 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "23827b42-5be3-406c-9991-b4ad6deb74e8", + "type": "basic.info", + "data": { + "info": "Máquina apagada \n(rst = 1)", + "readonly": true + }, + "position": { + "x": 952, + "y": -232 + }, + "size": { + "width": 152, + "height": 56 + } + }, + { + "id": "8a928b2a-c1fd-4d20-ba27-2f2bb41c0d01", + "type": "basic.info", + "data": { + "info": "Tic de arranque", + "readonly": true + }, + "position": { + "x": 960, + "y": -96 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "6648005b-8565-4aa7-9dbe-692786ab5eed", + "type": "basic.info", + "data": { + "info": "Tic de fin", + "readonly": true + }, + "position": { + "x": 944, + "y": 0 + }, + "size": { + "width": 120, + "height": 32 + } + }, + { + "id": "08d8a2f1-ca1d-4bb5-84ec-2e003a76d1c1", + "type": "basic.info", + "data": { + "info": "**Contador de ciclos**", + "readonly": true + }, + "position": { + "x": 1480, + "y": -424 + }, + "size": { + "width": 224, + "height": 40 + } + }, + { + "id": "6b89fbaa-ded1-4b08-85b3-d5043665ba0f", + "type": "basic.info", + "data": { + "info": "Número de ciclos \ncontados", + "readonly": true + }, + "position": { + "x": 1824, + "y": -160 + }, + "size": { + "width": 160, + "height": 56 + } + }, + { + "id": "ce9c2faa-a5a2-43ef-a19f-8089842fa7fb", + "type": "basic.info", + "data": { + "info": "Valor \nincrementado", + "readonly": true + }, + "position": { + "x": 1496, + "y": -120 + }, + "size": { + "width": 128, + "height": 56 + } + }, + { + "id": "9749c7ec-56c0-4d88-8b20-572f154aba47", + "type": "basic.info", + "data": { + "info": "### Salidas", + "readonly": true + }, + "position": { + "x": 2152, + "y": -328 + }, + "size": { + "width": 280, + "height": 40 + } + }, + { + "id": "4c022dd4-dc38-48e8-8e23-991de83819a0", + "type": "basic.info", + "data": { + "info": "Estado de la máquina", + "readonly": true + }, + "position": { + "x": 2160, + "y": -248 + }, + "size": { + "width": 192, + "height": 40 + } + }, + { + "id": "2f5c5893-19c2-411c-b942-83e2e0355d9b", + "type": "basic.info", + "data": { + "info": "Ciclo actual", + "readonly": true + }, + "position": { + "x": 2168, + "y": -104 + }, + "size": { + "width": 152, + "height": 40 + } + }, + { + "id": "3529c7ae-8223-48c9-a5c7-1b8161eb3654", + "type": "basic.info", + "data": { + "info": "Cuenta finalizada", + "readonly": true + }, + "position": { + "x": 2160, + "y": 216 + }, + "size": { + "width": 176, + "height": 48 + } + }, + { + "id": "8d3fe74d-0b04-434f-bd0a-c966094bb54e", + "type": "basic.info", + "data": { + "info": "Ejecutar el ciclo", + "readonly": true + }, + "position": { + "x": 2168, + "y": 80 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "ee786c92-eee9-4192-b5cd-7ffd2cff4aa0", + "type": "basic.info", + "data": { + "info": "Solo se hace caso a la \nentrada next si la \nmáquina está encendida", + "readonly": true + }, + "position": { + "x": 648, + "y": 88 + }, + "size": { + "width": 216, + "height": 80 + } + }, + { + "id": "fdea86ef-3e4a-4419-972a-3e09c49380ab", + "type": "basic.info", + "data": { + "info": "Nuevo ciclo", + "readonly": true + }, + "position": { + "x": 920, + "y": 168 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "b1d4db4d-86bf-41b9-8192-647537f22b35", + "type": "basic.info", + "data": { + "info": "Ciclo nuevo: \nincrementar la cuenta", + "readonly": true + }, + "position": { + "x": 1464, + "y": -32 + }, + "size": { + "width": 208, + "height": 56 + } + }, + { + "id": "6c065227-d7b8-48ea-8105-765c0ff10e5d", + "type": "basic.info", + "data": { + "info": "El tic de start se saca \npor exec para que se ejecute \nel primer ciclo", + "readonly": true + }, + "position": { + "x": 1680, + "y": 440 + }, + "size": { + "width": 248, + "height": 72 + } + }, + { + "id": "f41e1b4d-0de7-4d61-9b57-16de7ef8dc8a", + "type": "basic.info", + "data": { + "info": "Si la máquina está \napagada, las señales \nde ejecución no pueden \nsalir!", + "readonly": true + }, + "position": { + "x": 1688, + "y": 144 + }, + "size": { + "width": 208, + "height": 80 + } + }, + { + "id": "1ed4ad01-9b81-4934-84b7-804dcaec10c1", + "type": "basic.info", + "data": { + "info": "Retrasar la señal un ciclo \nmientras que se detecta si \nla máquina ha finalizado o no", + "readonly": true + }, + "position": { + "x": 1432, + "y": 360 + }, + "size": { + "width": 256, + "height": 72 + } + }, + { + "id": "9d12d6a4-f803-4357-a33d-a17e01e5dbad", + "type": "basic.info", + "data": { + "info": "Apagado manual", + "readonly": true + }, + "position": { + "x": 584, + "y": -64 + }, + "size": { + "width": 136, + "height": 40 + } + }, + { + "id": "f8f21ceb-6502-424c-a673-678223843c8e", + "type": "093015cf5b618116cdd0c62568121dbe01f3bb22", + "position": { + "x": 1648, + "y": -152 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "fb452519-1e21-469f-9053-2a12c9e50a0a", + "type": "7d7474712a4c7590639ee5328ec270b56c29d129", + "position": { + "x": 1352, + "y": -104 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7713c81a-d529-45c2-bd7d-ee5efa529c30", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1976, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "6c846478-ff94-415a-b78e-03b6981bc0fe", + "port": "outlabel" + }, + "target": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "3db35038-11c5-4af9-9b65-84c1790361cc" + }, + "vertices": [ + { + "x": 1592, + "y": -192 + } + ] + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "89a5da53-cc8b-4099-a5e3-b9cf281619b1" + }, + "target": { + "block": "bc6920df-ca50-4643-ad7a-7e10c29856e8", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "aefe9248-3b3d-441b-9e65-33cda65b99dd" + }, + "target": { + "block": "9baa509b-0012-4e0e-b874-e62987258aa1", + "port": "inlabel" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "0d991cee-b329-439b-b9e7-5712d2db539d" + }, + "target": { + "block": "92c88f9e-7d51-4946-b0ef-088dcd8efa49", + "port": "inlabel" + }, + "vertices": [ + { + "x": 888, + "y": -216 + } + ] + }, + { + "source": { + "block": "fa7f43f2-cbb2-47e0-bcc5-32336f9cd8ed", + "port": "outlabel" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "3802390d-8417-4369-b93c-dda647ccb0c6" + }, + "target": { + "block": "5a3f8466-6a57-4607-939a-fb15222442a7", + "port": "inlabel" + } + }, + { + "source": { + "block": "c5781045-a890-4e66-8f67-80d0cb317ee6", + "port": "outlabel" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "a756b829-42d1-4779-b42d-a9acc3800854", + "port": "outlabel" + }, + "target": { + "block": "49221b19-132a-4e3f-9a1f-97bcd463391b", + "port": "in" + } + }, + { + "source": { + "block": "8a5f0c79-7347-4b35-8e27-603ebed8bf9f", + "port": "outlabel" + }, + "target": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + } + }, + { + "source": { + "block": "10afc859-04fd-433d-823a-4fa4721320c1", + "port": "outlabel" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8c96c7ec-0c2f-4870-9197-46116cd1d134", + "port": "inlabel" + } + }, + { + "source": { + "block": "f9f37a77-fd08-4506-9c1b-cc53daa19559", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "cb426e3d-ace3-4a57-a74b-155caed0c14c", + "port": "out" + }, + "target": { + "block": "9291f94d-2d9a-4c3a-b7df-4299abf84886", + "port": "inlabel" + } + }, + { + "source": { + "block": "40607400-436e-4dea-b733-8308a06fd4ef", + "port": "outlabel" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "046501b8-4427-4d4d-af97-7fe807774f33" + } + }, + { + "source": { + "block": "2438a009-c8e2-4acb-b443-90fe0ddd989d", + "port": "outlabel" + }, + "target": { + "block": "6a11eaf9-4bd5-405e-81f8-44418365326b", + "port": "in" + } + }, + { + "source": { + "block": "81fb4efb-363e-483e-b1df-c2ebda777355", + "port": "outlabel" + }, + "target": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1496, + "y": 280 + } + ] + }, + { + "source": { + "block": "dddd2a78-e0f8-4688-ad63-0c41ad98894b", + "port": "outlabel" + }, + "target": { + "block": "73948305-b05b-418f-88af-11328f400cdc", + "port": "in" + } + }, + { + "source": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "size": 8 + }, + "target": { + "block": "de68392f-0d66-49fd-9a29-2baca4f94330", + "port": "inlabel" + }, + "size": 8 + }, + { + "source": { + "block": "cf76090d-15de-432c-b889-4a7382bafacb", + "port": "outlabel" + }, + "target": { + "block": "cd305a37-c793-4816-9ca8-6f982f0f4b3b", + "port": "in", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "e027bdcc-b018-48ef-baa4-3f4fef85e72d", + "port": "outlabel" + }, + "target": { + "block": "fb452519-1e21-469f-9053-2a12c9e50a0a", + "port": "e09faece-efdc-4272-9559-9b67956355b8", + "size": 8 + }, + "size": 8 + }, + { + "source": { + "block": "7713c81a-d529-45c2-bd7d-ee5efa529c30", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "06b60a4f-b1b1-4a91-ba10-bdb5a7515718", + "port": "inlabel" + } + }, + { + "source": { + "block": "d8820925-23d9-4f02-8491-adf813601d08", + "port": "outlabel" + }, + "target": { + "block": "7713c81a-d529-45c2-bd7d-ee5efa529c30", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "374613cb-968d-46d1-94a4-16686e7df28d", + "port": "constant-out" + }, + "target": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "f3b434e4-0c8f-4dd7-90c7-305189a807f1" + } + }, + { + "source": { + "block": "a19b8bcd-a0a4-4da0-9844-5e5c0306e231", + "port": "constant-out" + }, + "target": { + "block": "fb452519-1e21-469f-9053-2a12c9e50a0a", + "port": "c4eedeee-32b3-41da-834c-48f3a92cbaec" + } + }, + { + "source": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "d76d4948-a798-448c-adfa-c03b511371e5", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "ac8b922a-9249-49a3-8b42-a1f259ccae2b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "8f591b24-0427-409f-aa6e-ca1861556cf5", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "88176871-35ac-42bf-bf62-36c81a4b4b47" + } + }, + { + "source": { + "block": "ad4d0fc2-118e-496e-b292-c435bad20e7d", + "port": "out" + }, + "target": { + "block": "bd61136e-6597-4728-a8c3-141a1841150b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "fb452519-1e21-469f-9053-2a12c9e50a0a", + "port": "4633f815-1468-470b-84f3-6688a5b3d369" + }, + "target": { + "block": "f8f21ceb-6502-424c-a673-678223843c8e", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "size": 8 + }, + { + "source": { + "block": "89114256-b9b2-42e4-aa2a-009b16813eff", + "port": "out" + }, + "target": { + "block": "d59fae1c-4ff0-418f-9a6e-440a854abd17", + "port": "ba15eacb-1e03-4580-932b-3231703481e5" + } + }, + { + "source": { + "block": "28aef1aa-1cc2-4bb4-9a70-2db1962258d4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7713c81a-d529-45c2-bd7d-ee5efa529c30", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + } + ] + } + } + }, + "093015cf5b618116cdd0c62568121dbe01f3bb22": { + "package": { + "name": "Registro-rst", + "version": "0.1", + "description": "Registro de 8 bits con reset", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22279.911%22%20viewBox=%220%200%20137.38127%2074.059853%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2040.152l13.607%2016.672L88.64%2036.29%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2032.088l-9.232-19.613-6.451%203.724-2.069-3.583L77.719.546l2.069%203.584-6.092%203.517%2012.03%2018.223s5.399-2.025%208.535.74c3.137%202.766%202.52%204.92%202.887%204.772L73.46%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2032.088l-9.232-19.613-6.45%203.724-2.07-3.583L117.407.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L113.147%2045.02s-2.848-3.695-2.16-6.795c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "096f61b6-6d5c-4907-9512-e65b25969458", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 88, + "y": 120 + } + }, + { + "id": "3db35038-11c5-4af9-9b65-84c1790361cc", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 80, + "y": 216 + } + }, + { + "id": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "type": "basic.output", + "data": { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 632, + "y": 248 + } + }, + { + "id": "42b35cc2-aa64-4e66-be42-169958246799", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 80, + "y": 272 + } + }, + { + "id": "065ea371-8398-43b3-8341-287c234a3acb", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 80, + "y": 352 + } + }, + { + "id": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 376, + "y": 56 + } + }, + { + "id": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "type": "basic.code", + "data": { + "code": "localparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (rst)\n q <= INI;\n else\n if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d", + "range": "[7:0]", + "size": 8 + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 280, + "y": 176 + }, + "size": { + "width": 288, + "height": 200 + } + } + ], + "wires": [ + { + "source": { + "block": "f3b434e4-0c8f-4dd7-90c7-305189a807f1", + "port": "constant-out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "q" + }, + "target": { + "block": "d3e4f800-c611-4f65-88e7-8b7d2def0021", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "42b35cc2-aa64-4e66-be42-169958246799", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "d" + }, + "size": 8 + }, + { + "source": { + "block": "065ea371-8398-43b3-8341-287c234a3acb", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "load" + } + }, + { + "source": { + "block": "096f61b6-6d5c-4907-9512-e65b25969458", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "clk" + } + }, + { + "source": { + "block": "3db35038-11c5-4af9-9b65-84c1790361cc", + "port": "out" + }, + "target": { + "block": "32106310-bfdc-41db-9a7c-2dadd5016c3f", + "port": "rst" + } + } + ] + } + } + }, + "7d7474712a4c7590639ee5328ec270b56c29d129": { + "package": { + "name": "sum-1op-8bits", + "version": "0.1", + "description": "Sumador de un operando de 8 bits con una constante pasada como parámetro (No hay accarreo)", + "author": "Juan González-Gómez", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22208.285%22%20height=%22208.61%22%20viewBox=%220%200%20195.2669%20195.57218%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22-33.052%22%20y=%22195.572%22%20font-weight=%22400%22%20font-size=%22311.941%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%20stroke-width=%224.441%22%3E%3Ctspan%20x=%22-33.052%22%20y=%22195.572%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20fill=%22#00f%22%3E+%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "e09faece-efdc-4272-9559-9b67956355b8", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 208, + "y": 192 + } + }, + { + "id": "4633f815-1468-470b-84f3-6688a5b3d369", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 672, + "y": 192 + } + }, + { + "id": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": false + }, + "position": { + "x": 448, + "y": 96 + } + }, + { + "id": "a8d15f9d-bba5-432f-b698-17964638c83a", + "type": "basic.code", + "data": { + "code": "assign s = a + k;", + "params": [ + { + "name": "k" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "s", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 384, + "y": 192 + }, + "size": { + "width": 216, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "c4eedeee-32b3-41da-834c-48f3a92cbaec", + "port": "constant-out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "k" + } + }, + { + "source": { + "block": "e09faece-efdc-4272-9559-9b67956355b8", + "port": "out" + }, + "target": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "a" + }, + "size": 8 + }, + { + "source": { + "block": "a8d15f9d-bba5-432f-b698-17964638c83a", + "port": "s" + }, + "target": { + "block": "4633f815-1468-470b-84f3-6688a5b3d369", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "fe216fc3f7e19209c184579380d23a46cb3ac1b5": { + "package": { + "name": "adc", + "version": "0.2", + "description": "Analog-to-digital-converter", + "author": "Juan Gonzalez-Gomez (Obiuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20id=%22Ebene_1%22%20width=%22272.885%22%20height=%22360.534%22%20viewBox=%220%200%20272.88513%20360.53439%22%3E%3Cdefs%20id=%22defs25%22%3E%3Cmarker%20id=%22TriangleOutM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-7%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-5%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-5%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-2%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-9%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-1%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-7%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3%22%3E%3Cpath%20id=%22a%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3C/defs%3E%3Cpath%20id=%22path880%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20id=%22TriangleInM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-2.308%200l3.46-2v4z%22%20id=%22path4321%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22EmptyTriangleInM%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-.508%200l3.46-2v4z%22%20id=%22path4339%22%20fill=%22#fff%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22TriangleOutM-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path4297%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22marker4456%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path4458%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22marker4428%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path4430%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-67%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path4179%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cpath%20id=%22path919%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cpath%20id=%22path998%22%20d=%22M-58.3-45h653.6v640H-58.3z%22/%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-4%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path972-7%22%20d=%22M2.308%200l-3.46%202v-4z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-2%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-4%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-0%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-62%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-3-99%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path854-6-0%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow1Mend-5-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path836-3-1%22%20d=%22M-4%200l-2%202%207-2-7-2z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22TriangleOutM-7-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20id=%22path972-5-1%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-3-1%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-5-0%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-6-3%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-2-4%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow2Mend-3-9-0%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20id=%22path854-6-1-3%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20id=%22Arrow1Mend-5-2-9%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-4%200l-2%202%207-2-7-2z%22%20id=%22path836-3-7-1%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cdefs%20id=%22defs3-9%22%3E%3Cpath%20d=%22M-58.3-45h653.6v640H-58.3z%22%20id=%22a-6%22/%3E%3C/defs%3E%3Cpath%20d=%22M-58.3-45h653.6v640H-58.3z%22%20id=%22path880-9%22/%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleInM-3%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4321-3%22%20d=%22M-2.308%200l3.46-2v4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22EmptyTriangleInM-8%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4339-0%22%20d=%22M-.508%200l3.46-2v4z%22%20fill=%22#fff%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22TriangleOutM-3-5%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4297-6%22%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%3Cmarker%20orient=%22auto%22%20id=%22marker4456-6%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4458-4%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22marker4428-0%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4430-0%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cmarker%20orient=%22auto%22%20id=%22Arrow2Mend-67-4%22%20overflow=%22visible%22%3E%3Cpath%20id=%22path4179-6%22%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill-rule=%22evenodd%22%20stroke=%22#000%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3Cpath%20d=%22M-58.3-45h653.6v640H-58.3z%22%20id=%22path1228%22/%3E%3C/defs%3E%3Ctitle%20id=%22title2%22%3EAnalogsignal%3C/title%3E%3Cg%20id=%22g6%22%20transform=%22matrix(2.66197%200%200%20-2.6081%20-266.143%20348.922)%22%20fill=%22#ff0%22%20stroke-width=%22.631%22%20stroke-linecap=%22round%22%3E%3Cpath%20id=%22path4%22%20d=%22M136.595%2057.528l14.719-12.747%2014.663%2012.747m-6.246-3.93v17.136h-15.754V53.598z%22/%3E%3C/g%3E%3Cg%20id=%22g992-3%22%20transform=%22matrix(2.49948%200%200%202.49948%20-213.902%20137.88)%22%20stroke-width=%221.526%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-6%22%20fill=%22#ececec%22%20stroke-width=%22.929%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-7%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%222.322%22/%3E%3C/g%3E%3Cpath%20id=%22path10%22%20d=%22M7.61%2080.976C14.27%2036.763%2021.114-7.26%2027.77%205.32c6.846%2012.575%2011.841%20145.026%2020.35%20151.315%208.324%206.291%2021.83-109.323%2030.34-113.58%208.324-4.066%2011.838%2094.531%2020.16%2088.238%208.512-6.288%2022.015-130.229%2030.337-125.973%208.51%204.253%2011.84%20149.098%2020.351%20151.315%208.326%202.037%2020.163-136.516%2030.339-138.738%209.99-2.034%2020.161%20119.69%2030.337%20125.978%2010.174%206.473%2023.676-79.732%2030.335-88.053%206.662-8.509%206.662%2031.447%2010.177%2037.734%203.33%206.293%206.66%203.147%209.99%200%22%20stroke-miterlimit=%2210%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%226.281%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22131.832%22%20y=%22272.84%22%20id=%22text849%22%20font-weight=%22400%22%20font-size=%2247.637%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20stroke-width=%221.662%22%20stroke-linecap=%22round%22%3E%3Ctspan%20id=%22tspan847%22%20x=%22131.832%22%20y=%22272.84%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%20stroke-width=%22.928%22%20fill=%22green%22%3E01001100%3C/tspan%3E%3C/text%3E%3Cstyle%20id=%22style2%22%3E.st0%7Bdisplay:none%7D.st1%7Bfill:none;stroke:#303030;stroke-width:.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10%7D.st2%7Bfill:#303030%7D%3C/style%3E%3Cg%20id=%22g992-3-2%22%20transform=%22matrix(2.49948%200%200%202.49948%20-16.118%20138.484)%22%20stroke-width=%221.526%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20id=%22path992-2-6-67%22%20fill=%22#ececec%22%20stroke-width=%22.929%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20id=%22path1773-2-3-1-8-9-7-5%22%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%222.322%22/%3E%3C/g%3E%3Ctext%20style=%22line-height:1.25;-inkscape-font-specification:ubuntu;text-align:center%22%20x=%22133.042%22%20y=%22334.844%22%20id=%22text849-6%22%20font-weight=%22400%22%20font-size=%2247.637%22%20font-family=%22ubuntu%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20stroke-width=%221.662%22%20stroke-linecap=%22round%22%3E%3Ctspan%20id=%22tspan847-9%22%20x=%22133.042%22%20y=%22334.844%22%20style=%22-inkscape-font-specification:'ubuntu%20Medium'%22%20font-weight=%22500%22%20stroke-width=%22.928%22%3EADC%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -2048, + "y": -232 + } + }, + { + "id": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a", + "type": "basic.input", + "data": { + "name": "adc-sda", + "clock": false + }, + "position": { + "x": -544, + "y": -184 + } + }, + { + "id": "43bc16ab-b91d-405c-bef0-887bd1a85fd7", + "type": "basic.output", + "data": { + "name": "adc_scl" + }, + "position": { + "x": 24, + "y": -104 + } + }, + { + "id": "09a84e89-0e4a-43cc-a5b9-6c8ac6ce5742", + "type": "basic.input", + "data": { + "name": "ch", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -2040, + "y": 88 + } + }, + { + "id": "2dd424a5-e616-4505-8a89-4982cdd7539d", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 208, + "y": 312 + } + }, + { + "id": "bfc6f0ec-0d3a-4caa-9d40-9f4e8f59f112", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": -2040, + "y": 696 + } + }, + { + "id": "f4f0b0cc-6b11-417f-b8de-933dd739752b", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": -1280, + "y": 864 + } + }, + { + "id": "5d1a3bb7-8f31-4c17-9f0e-09fdcf7bd807", + "type": "basic.memory", + "data": { + "name": "Canal-reg", + "list": "02 //-- Canal 0\n04 //-- Canal 1\n06 //-- Canal 2\n08 //-- Canal 3", + "local": true, + "format": 10 + }, + "position": { + "x": -1728, + "y": -80 + }, + "size": { + "width": 224, + "height": 104 + } + }, + { + "id": "3b4b7515-4e2b-46d2-8994-7ea4b3ad22e3", + "type": "basic.constant", + "data": { + "name": "", + "value": "3", + "local": true + }, + "position": { + "x": -1416, + "y": 248 + } + }, + { + "id": "9e7fbae9-cce7-42d1-b650-6e315c04c922", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": -1216, + "y": 128 + } + }, + { + "id": "22ab7ece-cc08-4d88-8169-0c27996f429f", + "type": "basic.memory", + "data": { + "name": "Comandos i2c", + "list": "03_00_cc //-- Write. Reg 0 <-- CC. Modo Auto-scan\n01_02_00 //-- Sel Reg 2\n00_00_00 //-- Lectura!", + "local": true, + "format": 10 + }, + "position": { + "x": -1152, + "y": -64 + }, + "size": { + "width": 416, + "height": 120 + } + }, + { + "id": "3f0866f0-c93f-4d57-9aab-b2e1ec7d135b", + "type": "basic.constant", + "data": { + "name": "Direccion-i2c", + "value": "7'h48", + "local": true + }, + "position": { + "x": -696, + "y": -128 + } + }, + { + "id": "3e21cde1-61ca-4036-b448-bdb96e3b7b43", + "type": "basic.info", + "data": { + "info": "**SDA**\n(INOUT) ", + "readonly": true + }, + "position": { + "x": -528, + "y": -272 + }, + "size": { + "width": 104, + "height": 48 + } + }, + { + "id": "bca7a427-a08f-48d3-807c-64a27a08db52", + "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", + "position": { + "x": 0, + "y": 296 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "ada801ec-97ac-4d32-a9fd-a997ce0d2c16", + "type": "20b7dbadd419751f1658977d442517896b210c75", + "position": { + "x": -696, + "y": -32 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6465077c-afae-49b4-b488-7d920e4c7f61", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": -1776, + "y": 680 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "dd7d5998-c070-46ea-863f-49da091eda29", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": -1216, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f6118dec-faf4-4b86-8c20-aa0368015453", + "type": "1535f6f47d269b5d2de10c9fcd212e580a4d640c", + "position": { + "x": -1208, + "y": 360 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "665884f2-d123-4f55-9a11-4c8f431c3020", + "type": "basic.code", + "data": { + "code": "assign op = i[17:16];\nassign regis = i[15:8];\nassign value = i[7:0];", + "params": [], + "ports": { + "in": [ + { + "name": "i", + "range": "[17:0]", + "size": 18 + } + ], + "out": [ + { + "name": "regis", + "range": "[7:0]", + "size": 8 + }, + { + "name": "value", + "range": "[7:0]", + "size": 8 + }, + { + "name": "op", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": -1032, + "y": 344 + }, + "size": { + "width": 224, + "height": 96 + } + }, + { + "id": "032db993-b0ca-47dd-ba47-7e65fe70e0f3", + "type": "basic.info", + "data": { + "info": "Decoddificador", + "readonly": true + }, + "position": { + "x": -712, + "y": 88 + }, + "size": { + "width": 144, + "height": 40 + } + }, + { + "id": "056f271d-dcca-4550-aa60-083c7d9515e3", + "type": "117a3398e8b038aec02d56f0f0ebdd6197dd5305", + "position": { + "x": -1424, + "y": 360 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "2223e693-de97-453c-8372-5df27eac1ef1", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": -1608, + "y": 384 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "fa5f3d4c-5527-4b08-a5cb-eca7a792b7d8", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": -784, + "y": 496 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e7415f08-799e-4142-a6a0-5543b49d8c73", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": -1608, + "y": 592 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ee385cc9-71e1-4f87-9a4c-36addf869a7b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": -648, + "y": 464 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a594d32c-f8bc-4931-a350-e660f1754f7c", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": -160, + "y": 616 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "f56d83b1-73c7-433d-810b-94107609ceb1", + "type": "2b27874a703dd0b148b08ecb5a00d1867eebe92c", + "position": { + "x": -328, + "y": 216 + }, + "size": { + "width": 96, + "height": 256 + } + }, + { + "id": "bc3cf5e5-3130-494e-b5b0-49298d4e52c2", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 72, + "y": 600 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "0c5f0894-f0ed-443a-8ab7-9c80d5d958c6", + "type": "359a555a147b0afd9d84e4a720ec84b7cdfbc034", + "position": { + "x": -704, + "y": 176 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "fbdf2179-d67b-4d89-ae41-928932a492f9", + "type": "d9a3cf565602d237c50136543d558affa15c7654", + "position": { + "x": -1216, + "y": 232 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "07c0f4d5-8027-400b-ab21-cd4712f7a0b2", + "type": "fbbede7f059cd50db81d1e80b2e575ed877c91a0", + "position": { + "x": -1664, + "y": 88 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "94b801a2-93e1-4d50-984d-d366909343ea", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": -1456, + "y": 864 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021" + }, + "target": { + "block": "2dd424a5-e616-4505-8a89-4982cdd7539d", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "3f0866f0-c93f-4d57-9aab-b2e1ec7d135b", + "port": "constant-out" + }, + "target": { + "block": "ada801ec-97ac-4d32-a9fd-a997ce0d2c16", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + }, + { + "source": { + "block": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a", + "port": "out" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a" + } + }, + { + "source": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "43bc16ab-b91d-405c-bef0-887bd1a85fd7" + }, + "target": { + "block": "43bc16ab-b91d-405c-bef0-887bd1a85fd7", + "port": "in" + } + }, + { + "source": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "2dd424a5-e616-4505-8a89-4982cdd7539d" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "size": 8 + }, + { + "source": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "efa38a4c-7d36-47f9-82de-6cf99cf88c3d" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + } + }, + { + "source": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "dd7d5998-c070-46ea-863f-49da091eda29", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + } + }, + { + "source": { + "block": "ada801ec-97ac-4d32-a9fd-a997ce0d2c16", + "port": "cf56e668-4c75-451d-ab35-b8457ab06e22" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "17680ad1-ed73-4b6c-a31e-c96c61fc88ef" + }, + "vertices": [ + { + "x": -552, + "y": 48 + } + ], + "size": 7 + }, + { + "source": { + "block": "665884f2-d123-4f55-9a11-4c8f431c3020", + "port": "op" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "fba9c594-4b64-4f48-8979-25c1a001e90a" + }, + "size": 2 + }, + { + "source": { + "block": "22ab7ece-cc08-4d88-8169-0c27996f429f", + "port": "memory-out" + }, + "target": { + "block": "f6118dec-faf4-4b86-8c20-aa0368015453", + "port": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377" + } + }, + { + "source": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "2223e693-de97-453c-8372-5df27eac1ef1", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -1656, + "y": 552 + } + ] + }, + { + "source": { + "block": "dd7d5998-c070-46ea-863f-49da091eda29", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "fa5f3d4c-5527-4b08-a5cb-eca7a792b7d8", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -936, + "y": 656 + } + ] + }, + { + "source": { + "block": "3b4b7515-4e2b-46d2-8994-7ea4b3ad22e3", + "port": "constant-out" + }, + "target": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c" + } + }, + { + "source": { + "block": "fa5f3d4c-5527-4b08-a5cb-eca7a792b7d8", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "ee385cc9-71e1-4f87-9a4c-36addf869a7b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "e7415f08-799e-4142-a6a0-5543b49d8c73", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -1656, + "y": 624 + } + ] + }, + { + "source": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "18dc0bf6-35be-4fad-9e92-79ae207ff435" + }, + "target": { + "block": "a594d32c-f8bc-4931-a350-e660f1754f7c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": -208, + "y": 560 + } + ] + }, + { + "source": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": -1344, + "y": 800 + } + ] + }, + { + "source": { + "block": "ee385cc9-71e1-4f87-9a4c-36addf869a7b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "b882b07a-a45e-429f-b442-f6547b67e98e" + } + }, + { + "source": { + "block": "2223e693-de97-453c-8372-5df27eac1ef1", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + } + }, + { + "source": { + "block": "e7415f08-799e-4142-a6a0-5543b49d8c73", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + } + }, + { + "source": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "ee385cc9-71e1-4f87-9a4c-36addf869a7b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -1656, + "y": 624 + } + ] + }, + { + "source": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "18dc0bf6-35be-4fad-9e92-79ae207ff435" + }, + "target": { + "block": "e7415f08-799e-4142-a6a0-5543b49d8c73", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": -320, + "y": 568 + } + ] + }, + { + "source": { + "block": "a594d32c-f8bc-4931-a350-e660f1754f7c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "bc3cf5e5-3130-494e-b5b0-49298d4e52c2", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "bc3cf5e5-3130-494e-b5b0-49298d4e52c2", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "fa5f3d4c-5527-4b08-a5cb-eca7a792b7d8", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [ + { + "x": -520, + "y": 720 + }, + { + "x": -856, + "y": 648 + } + ] + }, + { + "source": { + "block": "f6118dec-faf4-4b86-8c20-aa0368015453", + "port": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5" + }, + "target": { + "block": "665884f2-d123-4f55-9a11-4c8f431c3020", + "port": "i" + }, + "size": 18 + }, + { + "source": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "2124c987-5d1b-4335-858f-502559b11a26" + }, + "target": { + "block": "f6118dec-faf4-4b86-8c20-aa0368015453", + "port": "186c4116-7846-4c8e-98a0-7376675105f1" + }, + "size": 3 + }, + { + "source": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "2124c987-5d1b-4335-858f-502559b11a26" + }, + "target": { + "block": "fbdf2179-d67b-4d89-ae41-928932a492f9", + "port": "0867b1bc-1cc5-4707-8ddb-40d0318d237c" + }, + "vertices": [ + { + "x": -1264, + "y": 256 + } + ], + "size": 3 + }, + { + "source": { + "block": "9e7fbae9-cce7-42d1-b650-6e315c04c922", + "port": "constant-out" + }, + "target": { + "block": "fbdf2179-d67b-4d89-ae41-928932a492f9", + "port": "437fac17-b8b4-4d9f-8d03-27300b3b9466" + } + }, + { + "source": { + "block": "fbdf2179-d67b-4d89-ae41-928932a492f9", + "port": "0344dacc-8583-456b-b377-8cb4ab97cf94" + }, + "target": { + "block": "0c5f0894-f0ed-443a-8ab7-9c80d5d958c6", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + } + }, + { + "source": { + "block": "665884f2-d123-4f55-9a11-4c8f431c3020", + "port": "value" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "4f066abd-3ac4-45e9-ad20-d1eff038c986" + }, + "size": 8 + }, + { + "source": { + "block": "665884f2-d123-4f55-9a11-4c8f431c3020", + "port": "regis" + }, + "target": { + "block": "0c5f0894-f0ed-443a-8ab7-9c80d5d958c6", + "port": "325fbba1-e929-4921-a644-95f918e6e4ee" + }, + "size": 8 + }, + { + "source": { + "block": "0c5f0894-f0ed-443a-8ab7-9c80d5d958c6", + "port": "bf25756a-65a4-4b09-915d-494010d6f4ff" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "17ec9584-f1ef-4cd5-a0a5-850ecb89065c" + }, + "vertices": [ + { + "x": -584, + "y": 336 + } + ], + "size": 8 + }, + { + "source": { + "block": "09a84e89-0e4a-43cc-a5b9-6c8ac6ce5742", + "port": "out" + }, + "target": { + "block": "07c0f4d5-8027-400b-ab21-cd4712f7a0b2", + "port": "186c4116-7846-4c8e-98a0-7376675105f1" + }, + "size": 2 + }, + { + "source": { + "block": "5d1a3bb7-8f31-4c17-9f0e-09fdcf7bd807", + "port": "memory-out" + }, + "target": { + "block": "07c0f4d5-8027-400b-ab21-cd4712f7a0b2", + "port": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377" + } + }, + { + "source": { + "block": "07c0f4d5-8027-400b-ab21-cd4712f7a0b2", + "port": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5" + }, + "target": { + "block": "0c5f0894-f0ed-443a-8ab7-9c80d5d958c6", + "port": "9f5a1c91-1b93-4609-877c-816ed8fd0871" + }, + "size": 8 + }, + { + "source": { + "block": "bfc6f0ec-0d3a-4caa-9d40-9f4e8f59f112", + "port": "out" + }, + "target": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "056f271d-dcca-4550-aa60-083c7d9515e3", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "dd7d5998-c070-46ea-863f-49da091eda29", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + }, + "vertices": [ + { + "x": -1296, + "y": 520 + } + ] + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "f56d83b1-73c7-433d-810b-94107609ceb1", + "port": "6355398c-628e-42d2-86e8-f85762c31939" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "a594d32c-f8bc-4931-a350-e660f1754f7c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "bc3cf5e5-3130-494e-b5b0-49298d4e52c2", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": -48, + "y": 464 + } + ] + }, + { + "source": { + "block": "6465077c-afae-49b4-b488-7d920e4c7f61", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "94b801a2-93e1-4d50-984d-d366909343ea", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [ + { + "x": -1648, + "y": 856 + } + ] + }, + { + "source": { + "block": "25c04d0a-ea74-40e4-af03-b65df00fafd0", + "port": "out" + }, + "target": { + "block": "94b801a2-93e1-4d50-984d-d366909343ea", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "94b801a2-93e1-4d50-984d-d366909343ea", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "f4f0b0cc-6b11-417f-b8de-933dd739752b", + "port": "in" + } + } + ] + } + } + }, + "20b7dbadd419751f1658977d442517896b210c75": { + "package": { + "name": "Constante-7bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 7 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": "cf56e668-4c75-451d-ab35-b8457ab06e22", + "type": "basic.output", + "data": { + "name": "k", + "range": "[6:0]", + "size": 7 + }, + "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": "[6:0]", + "size": 7 + } + ] + } + }, + "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": "cf56e668-4c75-451d-ab35-b8457ab06e22", + "port": "in" + }, + "size": 7 + } + ] + } + } + }, + "1535f6f47d269b5d2de10c9fcd212e580a4d640c": { + "package": { + "name": "mi-tabla3-18", + "version": "0.1", + "description": "Circuito combinacional de 3 entradas y 18 salidas", + "author": "IceFactory 0.1", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22184.803%22%20height=%22197.944%22%20viewBox=%220%200%20173.25325%20185.57257%22%3E%3Cg%20transform=%22translate(-181.933%20-240.254)%22%20stroke=%22#000%22%3E%3Crect%20width=%22170.253%22%20height=%22182.573%22%20x=%22183.433%22%20y=%22241.754%22%20ry=%2219.969%22%20fill=%22#3e8db8%22%20stroke-width=%223%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22274.019%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22381.832%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25;text-align:center%22%20x=%22267.708%22%20y=%22368.911%22%20font-weight=%22400%22%20font-size=%2212.5%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%223%22%3E%3Ctspan%20x=%22267.708%22%20y=%22368.911%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2270%22%3EHEX%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "186c4116-7846-4c8e-98a0-7376675105f1", + "type": "basic.input", + "data": { + "name": "", + "range": "[2:0]", + "clock": false, + "size": 3 + }, + "position": { + "x": -8, + "y": 424 + } + }, + { + "id": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "type": "basic.output", + "data": { + "name": "", + "range": "[17:0]", + "size": 18 + }, + "position": { + "x": 632, + "y": 424 + } + }, + { + "id": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "type": "basic.memory", + "data": { + "name": "", + "list": "0\n0\n0\n0", + "local": false + }, + "position": { + "x": 328, + "y": 96 + }, + "size": { + "width": 96, + "height": 104 + } + }, + { + "id": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "type": "basic.code", + "data": { + "code": "\n//-- Bits del bus de entrada\nlocalparam N = 3;\n\n//-- Bits del bus de salida\nlocalparam M = 18;\n\n//-- Calcular tamaño de la tabla\n//-- (filas) segun los bits de entrada\nlocalparam TAM = 2 ** N;\n\n//-- Definición de la tabla\n//-- Tabla de TAM elementos de M bits\nreg [M-1:0] tabla[0:TAM-1];\n\n//-- Read the table\nassign q = tabla[i];\n\n//-- Init table from DATA parameters\ninitial begin\n if (DATA) $readmemh(DATA, tabla);\nend", + "params": [ + { + "name": "DATA" + } + ], + "ports": { + "in": [ + { + "name": "i", + "range": "[2:0]", + "size": 3 + } + ], + "out": [ + { + "name": "q", + "range": "[17:0]", + "size": 18 + } + ] + } + }, + "position": { + "x": 176, + "y": 264 + }, + "size": { + "width": 392, + "height": 384 + } + } + ], + "wires": [ + { + "source": { + "block": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "port": "memory-out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "DATA" + } + }, + { + "source": { + "block": "186c4116-7846-4c8e-98a0-7376675105f1", + "port": "out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "i" + }, + "size": 3 + }, + { + "source": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "q" + }, + "target": { + "block": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "port": "in" + }, + "size": 18 + } + ] + } + } + }, + "117a3398e8b038aec02d56f0f0ebdd6197dd5305": { + "package": { + "name": "Contador-3bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 3 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 176 + } + }, + { + "id": "2124c987-5d1b-4335-858f-502559b11a26", + "type": "basic.output", + "data": { + "name": "", + "range": "[2:0]", + "size": 3 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 280 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 376 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "8", + "local": false + }, + "position": { + "x": 528, + "y": 48 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 3; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 2'b00;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[2:0]", + "size": 3 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + } + ], + "wires": [ + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "2124c987-5d1b-4335-858f-502559b11a26", + "port": "in" + }, + "size": 3 + } + ] + } + } + }, + "2b27874a703dd0b148b08ecb5a00d1867eebe92c": { + "package": { + "name": "i2c", + "version": "0.1", + "description": "Controlador i2c que permite 3 transacciones: escritura, lectura y selección", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "43bc16ab-b91d-405c-bef0-887bd1a85fd7", + "type": "basic.output", + "data": { + "name": "SCL" + }, + "position": { + "x": 376, + "y": -288 + } + }, + { + "id": "6355398c-628e-42d2-86e8-f85762c31939", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": -1952, + "y": -200 + } + }, + { + "id": "11599aed-e7f9-4b50-9552-18a18327fe0a", + "type": "basic.output", + "data": { + "name": "NAK" + }, + "position": { + "x": 1576, + "y": -152 + } + }, + { + "id": "2dd424a5-e616-4505-8a89-4982cdd7539d", + "type": "basic.output", + "data": { + "name": "data", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 1592, + "y": -16 + } + }, + { + "id": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a", + "type": "basic.input", + "data": { + "name": "pin_SDA", + "clock": false + }, + "position": { + "x": 192, + "y": 80 + } + }, + { + "id": "5cdc523e-a6fc-4c9d-bfa8-8311f1589fb2", + "type": "basic.input", + "data": { + "name": "rst_nak", + "clock": false + }, + "position": { + "x": 768, + "y": 160 + } + }, + { + "id": "17680ad1-ed73-4b6c-a31e-c96c61fc88ef", + "type": "basic.input", + "data": { + "name": "addr", + "range": "[6:0]", + "clock": false, + "size": 7 + }, + "position": { + "x": -1960, + "y": 288 + } + }, + { + "id": "17ec9584-f1ef-4cd5-a0a5-850ecb89065c", + "type": "basic.input", + "data": { + "name": "reg", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -1960, + "y": 352 + } + }, + { + "id": "4f066abd-3ac4-45e9-ad20-d1eff038c986", + "type": "basic.input", + "data": { + "name": "Value", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -1960, + "y": 424 + } + }, + { + "id": "efa38a4c-7d36-47f9-82de-6cf99cf88c3d", + "type": "basic.output", + "data": { + "name": "rcv" + }, + "position": { + "x": 1592, + "y": 464 + } + }, + { + "id": "fba9c594-4b64-4f48-8979-25c1a001e90a", + "type": "basic.input", + "data": { + "name": "op", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -1960, + "y": 504 + } + }, + { + "id": "b882b07a-a45e-429f-b442-f6547b67e98e", + "type": "basic.input", + "data": { + "name": "exec", + "clock": false + }, + "position": { + "x": -1960, + "y": 576 + } + }, + { + "id": "18dc0bf6-35be-4fad-9e92-79ae207ff435", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1584, + "y": 744 + } + }, + { + "id": "7d667955-709f-4725-8ce6-8e6383b19129", + "type": "basic.memory", + "data": { + "name": "", + "list": "01 //-- Lectura. 2 Parametros. W=1\n00 //-- Seleccion. 2 parametros. W=0\n00 //-- Seleccion. Idem\n10 //-- Escritura. 3 param. W=0", + "local": false, + "format": 2 + }, + "position": { + "x": -1776, + "y": 1064 + }, + "size": { + "width": 328, + "height": 120 + } + }, + { + "id": "a3b7a6de-f60f-4b9b-b215-04dc02da40ef", + "type": "basic.constant", + "data": { + "name": "T1", + "value": "3", + "local": true + }, + "position": { + "x": -1136, + "y": 216 + } + }, + { + "id": "3e21cde1-61ca-4036-b448-bdb96e3b7b43", + "type": "basic.info", + "data": { + "info": "**SDA**\n(INOUT) ", + "readonly": true + }, + "position": { + "x": 192, + "y": 0 + }, + "size": { + "width": 104, + "height": 48 + } + }, + { + "id": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "type": "e1a052c716ee278ec9830939ef171d742c56eafe", + "position": { + "x": 416, + "y": 208 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "bfa36119-d847-4269-a3e7-b97221afdb43", + "type": "basic.info", + "data": { + "info": "Configuracion pin inout: \n1: Salida \n0: Entrada", + "readonly": true + }, + "position": { + "x": 416, + "y": 128 + }, + "size": { + "width": 224, + "height": 64 + } + }, + { + "id": "87a39423-9ce6-4036-8776-cb7f14be9458", + "type": "23e63b4fd19d0e1897b3c2faf5316f824f998872", + "position": { + "x": -1136, + "y": 328 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "type": "8ba640a4be8254a54e8c2dfad99a8fb6a07b5752", + "position": { + "x": 1040, + "y": 296 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "4ea344b1-0d16-4d26-8ec6-528135ff4526", + "type": "fc9dacc62ad25cd2832c3442bf277af9b708249b", + "position": { + "x": -392, + "y": 688 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ff11ff86-a76f-4122-b288-7122c87583f9", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": -200, + "y": 704 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "6b201e25-d04f-4385-a8fb-3e3a2d2bb5e7", + "type": "56e0da7091190448826e12c0590f60e2927ced42", + "position": { + "x": 1216, + "y": -56 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "f6f25263-c9d3-4dbf-9150-547e55b2a13e", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 840, + "y": -32 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5fd0f75f-64b4-489d-94ba-466de809fa10", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 712, + "y": 48 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7df65402-4c8d-4e5f-a0c2-c90579f40266", + "type": "42ebf732ed72b2aa979e6858281bfe62c10bec5f", + "position": { + "x": 1040, + "y": -80 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "8e70dbf5-9819-427a-8240-c431acd28680", + "type": "c146d4232b872efc8bb891cd29094024e9cc2c54", + "position": { + "x": 72, + "y": 448 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "bca7a427-a08f-48d3-807c-64a27a08db52", + "type": "89d2342d9664348db3e70e823cacbc8eb24ea3d0", + "position": { + "x": 1400, + "y": -32 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "7435a99e-3148-4748-aeb3-4bbe7cd9ee12", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1408, + "y": 464 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "c7934725-89bb-4c91-a3e5-eeef6b921f11", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1008, + "y": 656 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "type": "3e4cef8e5d182ddc9806ac0f5a9ee24351737373", + "position": { + "x": 72, + "y": 280 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "f69cff70-8365-4b3a-a4d9-1f0e211caaa0", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 824, + "y": 680 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "9ce21784-a6ab-4de1-a59b-a2c6149671c2", + "type": "basic.info", + "data": { + "info": "Señal para lectura \n(W=1)", + "readonly": true + }, + "position": { + "x": -200, + "y": 640 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "83cb1364-e769-4b68-a090-a78237494c57", + "type": "5cc6ec961df1a19b78d61422b28169fc0f69384b", + "position": { + "x": -48, + "y": 760 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "6f59f402-ae30-4921-9b55-f979bb92b693", + "type": "725b7e2cb9666b5ed3183537d9c898f096dab82a", + "position": { + "x": -200, + "y": 776 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "18cd2222-b188-4031-93ab-c41f09f31753", + "type": "basic.info", + "data": { + "info": "Señal para escritura \n(W=0)", + "readonly": true + }, + "position": { + "x": -200, + "y": 864 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "ca3f2050-c5d1-40e4-9e8b-063623625d02", + "type": "basic.code", + "data": { + "code": "assign b = {a,w};", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[6:0]", + "size": 7 + }, + { + "name": "w" + } + ], + "out": [ + { + "name": "b", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -1288, + "y": 1024 + }, + "size": { + "width": 200, + "height": 64 + } + }, + { + "id": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "type": "f1c84b11f2df5ee213cec33e6f9af2d0c66e6924", + "position": { + "x": -376, + "y": 296 + }, + "size": { + "width": 96, + "height": 160 + } + }, + { + "id": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "type": "5483349a60d7c0f7f4146228196d6f4c4ad7604d", + "position": { + "x": -568, + "y": 512 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "43205473-b036-4e36-8371-f424b8d09581", + "type": "56cc183f8c704107b94d882715f6e43592dcaf61", + "position": { + "x": -856, + "y": 880 + }, + "size": { + "width": 96, + "height": 192 + } + }, + { + "id": "a0139b24-fc4f-4a98-911b-6a510b929bca", + "type": "eebee1482748e838ffef3618817cc1fa911e4952", + "position": { + "x": -928, + "y": 528 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "23836a37-4ae5-4e06-be42-1a6047af199d", + "type": "945d5c43e22d4f1d3f8e379417d47f170e4adcf6", + "position": { + "x": -1144, + "y": 528 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "3a242407-5ac7-4348-beb7-b08d6f8c66f4", + "type": "ceff2da3577d3e4da3ad522a234b993cfc71e21a", + "position": { + "x": -1144, + "y": 448 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "5339e7e3-3097-4ee7-bf79-07c1d3172a8e", + "type": "a475867b1a8ac28299ed315b271747ba4ec10c54", + "position": { + "x": -1760, + "y": 1256 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "c7a93f63-7a23-4049-ab68-220c1a70b111", + "type": "fc9dacc62ad25cd2832c3442bf277af9b708249b", + "position": { + "x": -1488, + "y": 1256 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "9e57aa64-2990-4ff3-8244-9a70f77ff6f5", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1408, + "y": 744 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "2be9e09c-41a7-4b56-b5c9-ce8d03fceb0a", + "port": "out" + }, + "target": { + "block": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "port": "076fd025-aa42-4f23-ae97-b65aec2298ce" + } + }, + { + "source": { + "block": "a3b7a6de-f60f-4b9b-b215-04dc02da40ef", + "port": "constant-out" + }, + "target": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "5dc401ee-7963-464f-8ab5-e8ddedf191e2" + } + }, + { + "source": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "e69a71cb-1e3d-49df-a1cc-81fa1126bbb9" + }, + "target": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "748fced1-f2be-412a-87de-a0d8276e6a06" + } + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "20e1709f-bff4-4373-a485-5af7052a37d7" + }, + "target": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "bcadfb63-1fdf-43bc-9899-675e5f3658cb" + } + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "9290b4c2-5520-4b99-97d3-a140a411a149" + }, + "target": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "dbf76d1d-8bfd-4200-b03e-eb455043634d" + } + }, + { + "source": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "7d9cf16e-b23e-4358-a2fb-baaa07df6deb" + }, + "target": { + "block": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "port": "04fdb7a7-2740-4ff1-ad26-56407ef5b958" + } + }, + { + "source": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "a405ecb1-98ac-4483-8159-6045ca825985" + }, + "target": { + "block": "43bc16ab-b91d-405c-bef0-887bd1a85fd7", + "port": "in" + } + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "b987c71e-d76f-43eb-8371-a2aa09d98d15" + }, + "target": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "0096caa8-5e84-418c-9f49-61cccdca8cc0" + }, + "vertices": [ + { + "x": 0, + "y": 432 + } + ] + }, + { + "source": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "de068252-1546-4d1a-8452-955530fdf5de" + }, + "target": { + "block": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "port": "f96a1baf-fc8b-4c25-b132-12552605743f" + }, + "vertices": [ + { + "x": 328, + "y": 408 + } + ] + }, + { + "source": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "0b3c9646-6557-423b-90de-df434a651a71" + }, + "target": { + "block": "11599aed-e7f9-4b50-9552-18a18327fe0a", + "port": "in" + } + }, + { + "source": { + "block": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "port": "0b2a85b3-b6ac-4e8a-8b16-dd5a195fb058" + }, + "target": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "4f968b50-2b7d-4192-a522-aade138c8ae1" + }, + "vertices": [] + }, + { + "source": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "543d92bb-e56e-4aed-a598-1c40b3773841" + }, + "target": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "4889ff2d-1850-4fad-bae9-8c1cc8efcdea" + } + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "1d8c0dd2-96bc-462a-8a33-05472851522d" + }, + "target": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "3e14c77c-be98-43cb-aa0d-b1a391a5374e" + }, + "vertices": [ + { + "x": -72, + "y": 464 + } + ] + }, + { + "source": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "178cb827-993b-4cf3-b94f-282a9098fcd0" + }, + "target": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "0319df1a-5bd5-4abc-8681-6f3a8fa4e108" + }, + "vertices": [ + { + "x": -792, + "y": 528 + } + ] + }, + { + "source": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "162f5f2d-17dc-4d0e-b6f9-6ebdf74392f0" + }, + "target": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "cdf85427-0efe-4adb-b48d-dab3daccacce" + }, + "vertices": [ + { + "x": -424, + "y": 472 + } + ] + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "412c6872-b61e-4af8-8ece-577a8adb185c" + }, + "target": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "f966672f-ae05-4499-8a8d-3c9394a1119e" + }, + "vertices": [ + { + "x": -296, + "y": 656 + } + ] + }, + { + "source": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "5dc54e8b-49c1-4ddb-94ab-843b247b73c4" + }, + "target": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "58c39529-9934-4dc2-af86-ab5efe0bbad1" + }, + "vertices": [ + { + "x": -32, + "y": 448 + } + ] + }, + { + "source": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "3d54bf83-8d31-4eb5-bb7a-ccbe53ede036" + }, + "target": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "63a0f19e-1e7c-4e61-b89a-f6fc4eb74afb" + } + }, + { + "source": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "088c7d8e-99b1-4f2e-a6c0-a672e5239844" + }, + "target": { + "block": "4ea344b1-0d16-4d26-8ec6-528135ff4526", + "port": "a409d207-7594-4558-8e15-89712262cf5b" + }, + "size": 2 + }, + { + "source": { + "block": "4ea344b1-0d16-4d26-8ec6-528135ff4526", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "ff11ff86-a76f-4122-b288-7122c87583f9", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "5fd0f75f-64b4-489d-94ba-466de809fa10", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "f6f25263-c9d3-4dbf-9150-547e55b2a13e", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "f6f25263-c9d3-4dbf-9150-547e55b2a13e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7df65402-4c8d-4e5f-a0c2-c90579f40266", + "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + } + }, + { + "source": { + "block": "7df65402-4c8d-4e5f-a0c2-c90579f40266", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "6b201e25-d04f-4385-a8fb-3e3a2d2bb5e7", + "port": "ed62d7ef-27fb-44ef-99e8-a19bad6342dd" + } + }, + { + "source": { + "block": "ce94e964-10b6-468f-8339-a08ee1c8134e", + "port": "0b2a85b3-b6ac-4e8a-8b16-dd5a195fb058" + }, + "target": { + "block": "7df65402-4c8d-4e5f-a0c2-c90579f40266", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 984, + "y": 32 + } + ] + }, + { + "source": { + "block": "f6f25263-c9d3-4dbf-9150-547e55b2a13e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "6b201e25-d04f-4385-a8fb-3e3a2d2bb5e7", + "port": "e6088243-1d79-4783-ac0f-528d9700b6df" + } + }, + { + "source": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "b987c71e-d76f-43eb-8371-a2aa09d98d15" + }, + "target": { + "block": "f6f25263-c9d3-4dbf-9150-547e55b2a13e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": -8, + "y": 136 + } + ] + }, + { + "source": { + "block": "6b201e25-d04f-4385-a8fb-3e3a2d2bb5e7", + "port": "90654ccb-afdd-41ec-aaf8-b9be5b51253b" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "42b35cc2-aa64-4e66-be42-169958246799" + }, + "size": 8 + }, + { + "source": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "ae5d3417-2c71-4761-9b1e-cfcbc27d0e52" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "065ea371-8398-43b3-8341-287c234a3acb" + }, + "vertices": [ + { + "x": 576, + "y": 632 + }, + { + "x": 1232, + "y": 328 + } + ] + }, + { + "source": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "d3e4f800-c611-4f65-88e7-8b7d2def0021" + }, + "target": { + "block": "2dd424a5-e616-4505-8a89-4982cdd7539d", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "c7934725-89bb-4c91-a3e5-eeef6b921f11", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7435a99e-3148-4748-aeb3-4bbe7cd9ee12", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "ae5d3417-2c71-4761-9b1e-cfcbc27d0e52" + }, + "target": { + "block": "c7934725-89bb-4c91-a3e5-eeef6b921f11", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 712, + "y": 576 + } + ] + }, + { + "source": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "18918c51-cad4-4993-b228-985afc99944e" + }, + "target": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "2d249745-5883-469d-bf5a-5526f4e2f8c9" + }, + "vertices": [ + { + "x": -40, + "y": 200 + }, + { + "x": -1216, + "y": 320 + } + ] + }, + { + "source": { + "block": "f69cff70-8365-4b3a-a4d9-1f0e211caaa0", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "c7934725-89bb-4c91-a3e5-eeef6b921f11", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "f69cff70-8365-4b3a-a4d9-1f0e211caaa0", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 752, + "y": 760 + } + ] + }, + { + "source": { + "block": "ff11ff86-a76f-4122-b288-7122c87583f9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "5898179a-7390-429b-ac3c-b7a0df673610" + } + }, + { + "source": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "90b13235-c3b7-46a1-bdfd-f9d3d6b7ddf5" + }, + "vertices": [ + { + "x": 752, + "y": 752 + } + ] + }, + { + "source": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "5fd0f75f-64b4-489d-94ba-466de809fa10", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "0f70b35b-6842-4890-8201-e9a5f2278150" + }, + "vertices": [ + { + "x": 56, + "y": 624 + } + ] + }, + { + "source": { + "block": "6f59f402-ae30-4921-9b55-f979bb92b693", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "db089906-4326-4b59-8aa5-ebb61116a4cd" + } + }, + { + "source": { + "block": "5cdc523e-a6fc-4c9d-bfa8-8311f1589fb2", + "port": "out" + }, + "target": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "40e65064-7137-4959-aa9e-f6111677c062" + }, + "vertices": [ + { + "x": 904, + "y": 360 + } + ] + }, + { + "source": { + "block": "ca3f2050-c5d1-40e4-9e8b-063623625d02", + "port": "b" + }, + "target": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "1f4c1c55-ee75-41d6-8590-b4e650d636cc" + }, + "vertices": [ + { + "x": -992, + "y": 1032 + } + ], + "size": 8 + }, + { + "source": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "820e19c9-d979-418f-b2e5-d806fa3caca3" + }, + "target": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "ed0e5489-e9b1-4b92-bcfb-22f3737d1c93" + }, + "vertices": [ + { + "x": -688, + "y": 776 + } + ], + "size": 8 + }, + { + "source": { + "block": "4ea344b1-0d16-4d26-8ec6-528135ff4526", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "2cd7e8ed-1ed2-4a5c-a72a-337d703c9712" + }, + "vertices": [ + { + "x": -328, + "y": 1104 + } + ] + }, + { + "source": { + "block": "4ea344b1-0d16-4d26-8ec6-528135ff4526", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + }, + "target": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + }, + "vertices": [ + { + "x": -256, + "y": 1136 + }, + { + "x": -920, + "y": 1048 + } + ] + }, + { + "source": { + "block": "a0139b24-fc4f-4a98-911b-6a510b929bca", + "port": "ca28abaf-359d-4f8f-a397-91d76dc936ec" + }, + "target": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "8a0d51b6-8ab0-4ca6-8d57-7fa7e713c738" + }, + "size": 2 + }, + { + "source": { + "block": "23836a37-4ae5-4e06-be42-1a6047af199d", + "port": "6a253ddf-22b2-43cd-ba6f-561bd1af6970" + }, + "target": { + "block": "a0139b24-fc4f-4a98-911b-6a510b929bca", + "port": "8197e6c5-cf9d-42d6-a9e9-3ecccafa27c2" + }, + "size": 2 + }, + { + "source": { + "block": "3a242407-5ac7-4348-beb7-b08d6f8c66f4", + "port": "6a253ddf-22b2-43cd-ba6f-561bd1af6970" + }, + "target": { + "block": "a0139b24-fc4f-4a98-911b-6a510b929bca", + "port": "d220e4a2-bec7-4852-84bd-2baf3df5ccdb" + }, + "size": 2 + }, + { + "source": { + "block": "fba9c594-4b64-4f48-8979-25c1a001e90a", + "port": "out" + }, + "target": { + "block": "5339e7e3-3097-4ee7-bf79-07c1d3172a8e", + "port": "186c4116-7846-4c8e-98a0-7376675105f1" + }, + "size": 2 + }, + { + "source": { + "block": "5339e7e3-3097-4ee7-bf79-07c1d3172a8e", + "port": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5" + }, + "target": { + "block": "c7a93f63-7a23-4049-ab68-220c1a70b111", + "port": "a409d207-7594-4558-8e15-89712262cf5b" + }, + "size": 2 + }, + { + "source": { + "block": "c7a93f63-7a23-4049-ab68-220c1a70b111", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "ca3f2050-c5d1-40e4-9e8b-063623625d02", + "port": "w" + } + }, + { + "source": { + "block": "c7a93f63-7a23-4049-ab68-220c1a70b111", + "port": "0f7487e5-b070-4277-bba6-acf69934afca" + }, + "target": { + "block": "83cb1364-e769-4b68-a090-a78237494c57", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + } + }, + { + "source": { + "block": "c7a93f63-7a23-4049-ab68-220c1a70b111", + "port": "f5a71d7b-de20-4527-80c8-0eb20de0dc77" + }, + "target": { + "block": "a0139b24-fc4f-4a98-911b-6a510b929bca", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + }, + "vertices": [ + { + "x": -1368, + "y": 920 + } + ] + }, + { + "source": { + "block": "17680ad1-ed73-4b6c-a31e-c96c61fc88ef", + "port": "out" + }, + "target": { + "block": "ca3f2050-c5d1-40e4-9e8b-063623625d02", + "port": "a" + }, + "vertices": [ + { + "x": -1576, + "y": 976 + } + ], + "size": 7 + }, + { + "source": { + "block": "17ec9584-f1ef-4cd5-a0a5-850ecb89065c", + "port": "out" + }, + "target": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633" + }, + "vertices": [ + { + "x": -1616, + "y": 968 + } + ], + "size": 8 + }, + { + "source": { + "block": "4f066abd-3ac4-45e9-ad20-d1eff038c986", + "port": "out" + }, + "target": { + "block": "43205473-b036-4e36-8371-f424b8d09581", + "port": "350946d5-2f29-4190-bcf2-e14e17224bb4" + }, + "vertices": [ + { + "x": -1672, + "y": 888 + } + ], + "size": 8 + }, + { + "source": { + "block": "b882b07a-a45e-429f-b442-f6547b67e98e", + "port": "out" + }, + "target": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "779750dc-e68a-4a62-bb4a-a26b3b32c55c" + }, + "vertices": [ + { + "x": -1520, + "y": 440 + } + ] + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "87a39423-9ce6-4036-8776-cb7f14be9458", + "port": "84b853c2-3707-4f0b-b32b-484b03b19f61" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "cc69a8f8-3c9b-4e89-91d0-e885b455e32b", + "port": "7861c061-e90b-46bb-a639-6399f55f7f11" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "0f4f7955-4539-4804-a906-db4abd29fcac" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "e1361008-ba3c-45c7-ab27-5ce2e5dbf1ac", + "port": "9c68c5ce-2425-45f3-9f05-ee4581fa974d" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "8e70dbf5-9819-427a-8240-c431acd28680", + "port": "72e82947-787f-49f6-b4a4-7fe8f68e573d" + }, + "vertices": [ + { + "x": 16, + "y": 216 + } + ] + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "7df65402-4c8d-4e5f-a0c2-c90579f40266", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "7435a99e-3148-4748-aeb3-4bbe7cd9ee12", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "efa38a4c-7d36-47f9-82de-6cf99cf88c3d", + "port": "in" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "6b201e25-d04f-4385-a8fb-3e3a2d2bb5e7", + "port": "53ae64df-468f-4f52-b3d9-99da065d5a22" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "bca7a427-a08f-48d3-807c-64a27a08db52", + "port": "096f61b6-6d5c-4907-9512-e65b25969458" + } + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "d5f67b5c-b5e8-4793-987c-cccd28e4d261", + "port": "b2c9360e-b412-4621-af8b-a8762be2b072" + }, + "vertices": [ + { + "x": 1000, + "y": -80 + } + ] + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "7435a99e-3148-4748-aeb3-4bbe7cd9ee12", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1360, + "y": 200 + } + ] + }, + { + "source": { + "block": "6355398c-628e-42d2-86e8-f85762c31939", + "port": "out" + }, + "target": { + "block": "9e57aa64-2990-4ff3-8244-9a70f77ff6f5", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1360, + "y": 160 + } + ] + }, + { + "source": { + "block": "9e57aa64-2990-4ff3-8244-9a70f77ff6f5", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "18dc0bf6-35be-4fad-9e92-79ae207ff435", + "port": "in" + } + }, + { + "source": { + "block": "7d667955-709f-4725-8ce6-8e6383b19129", + "port": "memory-out" + }, + "target": { + "block": "5339e7e3-3097-4ee7-bf79-07c1d3172a8e", + "port": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377" + } + }, + { + "source": { + "block": "07843396-53b1-40ac-9a93-941f31a3a1b0", + "port": "18918c51-cad4-4993-b228-985afc99944e" + }, + "target": { + "block": "9e57aa64-2990-4ff3-8244-9a70f77ff6f5", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 248, + "y": 944 + } + ] + } + ] + } + } + }, + "e1a052c716ee278ec9830939ef171d742c56eafe": { + "package": { + "name": "Tri-state", + "version": "1.0.1", + "description": "Tri-state logic block", + "author": "Salvador E. Tropea", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-265%20401.5%2063.5%2038.4%22%20id=%22svg2%22%3E%3Cstyle%20id=%22style3%22/%3E%3Cpath%20d=%22M-9.78%203.538l-4.214%2024.984-19.53-16.141z%22%20transform=%22matrix(.62422%20-.11476%20.1058%20.67701%20-219.33%20413.046)%22%20id=%22path3008%22%20fill=%22none%22%20stroke=%22#0b0b0b%22%20stroke-width=%221.885%22/%3E%3Cpath%20d=%22M-9.78%203.538l-4.214%2024.984-19.53-16.141z%22%20transform=%22matrix(-.62422%20-.11476%20-.1058%20.67701%20-244.991%20400.53)%22%20id=%22path3008-6%22%20fill=%22none%22%20stroke=%22#0b0b0b%22%20stroke-width=%221.885%22/%3E%3Cpath%20d=%22M40.154%2011.247H63.74%22%20transform=%22translate(-265%20401.5)%22%20id=%22path3800%22%20fill=%22none%22%20stroke=%22#000%22/%3E%3Cpath%20d=%22M25.945%2023.73l-7.364.058V11.305h7.076%22%20transform=%22translate(-265%20401.5)%22%20id=%22path3802%22%20fill=%22none%22%20stroke=%22#000%22/%3E%3Cpath%20d=%22M-265.029%20412.747l18.582.058%22%20id=%22path3804%22%20fill=%22none%22%20stroke=%22#000%22/%3E%3Cpath%20d=%22M.081%2023.919h12.936v7.566h19.037V27.58%22%20transform=%22translate(-265%20401.5)%22%20id=%22path3806%22%20fill=%22none%22%20stroke=%22#000%22/%3E%3Cpath%20d=%22M0%2035.96h49.302V24.162h-9.356%22%20transform=%22translate(-265%20401.5)%22%20id=%22path3812%22%20fill=%22none%22%20stroke=%22#000%22/%3E%3C/svg%3E" + }, + "design": { + "config": "true", + "graph": { + "blocks": [ + { + "id": "076fd025-aa42-4f23-ae97-b65aec2298ce", + "type": "basic.input", + "data": { + "name": "pin" + }, + "position": { + "x": 32, + "y": 40 + } + }, + { + "id": "f96a1baf-fc8b-4c25-b132-12552605743f", + "type": "basic.input", + "data": { + "name": "oe" + }, + "position": { + "x": 32, + "y": 128 + } + }, + { + "id": "0b2a85b3-b6ac-4e8a-8b16-dd5a195fb058", + "type": "basic.output", + "data": { + "name": "din" + }, + "position": { + "x": 760, + "y": 128 + } + }, + { + "id": "04fdb7a7-2740-4ff1-ad26-56407ef5b958", + "type": "basic.input", + "data": { + "name": "dout", + "clock": false + }, + "position": { + "x": 32, + "y": 216 + } + }, + { + "id": "5c8e9a35-33e7-46ef-a0cc-cc27edcc99c0", + "type": "basic.code", + "data": { + "code": " SB_IO #(\n .PIN_TYPE(6'b1010_01),\n .PULLUP(1'b0)\n ) triState (\n .PACKAGE_PIN(pin),\n .OUTPUT_ENABLE(oe),\n .D_OUT_0(dout),\n .D_IN_0(din)\n );", + "params": [], + "ports": { + "in": [ + { + "name": "pin" + }, + { + "name": "oe" + }, + { + "name": "dout" + } + ], + "out": [ + { + "name": "din" + } + ] + } + }, + "position": { + "x": 248, + "y": 32 + }, + "size": { + "width": 384, + "height": 256 + } + } + ], + "wires": [ + { + "source": { + "block": "076fd025-aa42-4f23-ae97-b65aec2298ce", + "port": "out" + }, + "target": { + "block": "5c8e9a35-33e7-46ef-a0cc-cc27edcc99c0", + "port": "pin" + } + }, + { + "source": { + "block": "f96a1baf-fc8b-4c25-b132-12552605743f", + "port": "out" + }, + "target": { + "block": "5c8e9a35-33e7-46ef-a0cc-cc27edcc99c0", + "port": "oe" + } + }, + { + "source": { + "block": "04fdb7a7-2740-4ff1-ad26-56407ef5b958", + "port": "out" + }, + "target": { + "block": "5c8e9a35-33e7-46ef-a0cc-cc27edcc99c0", + "port": "dout" + } + }, + { + "source": { + "block": "5c8e9a35-33e7-46ef-a0cc-cc27edcc99c0", + "port": "din" + }, + "target": { + "block": "0b2a85b3-b6ac-4e8a-8b16-dd5a195fb058", + "port": "in" + } + } + ] + } + } + }, + "23e63b4fd19d0e1897b3c2faf5316f824f998872": { + "package": { + "name": "i2c-start", + "version": "0.1", + "description": "Generar la condición de start en el bus I2C", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 88, + "y": -32 + } + }, + { + "id": "e69a71cb-1e3d-49df-a1cc-81fa1126bbb9", + "type": "basic.output", + "data": { + "name": "sda" + }, + "position": { + "x": 568, + "y": 200 + } + }, + { + "id": "2d249745-5883-469d-bf5a-5526f4e2f8c9", + "type": "basic.input", + "data": { + "name": "end", + "clock": false + }, + "position": { + "x": 88, + "y": 200 + } + }, + { + "id": "3d54bf83-8d31-4eb5-bb7a-ccbe53ede036", + "type": "basic.output", + "data": { + "name": "scl" + }, + "position": { + "x": 1064, + "y": 272 + } + }, + { + "id": "779750dc-e68a-4a62-bb4a-a26b3b32c55c", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 232, + "y": 272 + } + }, + { + "id": "178cb827-993b-4cf3-b94f-282a9098fcd0", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1072, + "y": 424 + } + }, + { + "id": "a628dcfa-b41e-4605-a6b0-9637f4162e3d", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 392, + "y": 88 + } + }, + { + "id": "5dc401ee-7963-464f-8ab5-e8ddedf191e2", + "type": "basic.constant", + "data": { + "name": "T1", + "value": "2", + "local": false + }, + "position": { + "x": 712, + "y": 192 + } + }, + { + "id": "c73dcb8e-e43f-4550-bccf-cc3cdd24929b", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 928, + "y": 160 + } + }, + { + "id": "da65e165-f890-456d-99b1-b01df995f4c6", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 392, + "y": 184 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 712, + "y": 288 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "70332deb-97ed-4ae9-aab5-41813b842b63", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 928, + "y": 256 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "ef30e58a-55bb-4f96-87ef-485fcb87bb23", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": 568, + "y": 304 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "4a80dfb1-abc5-4d93-9bd6-32ad4429fd8c", + "type": "basic.info", + "data": { + "info": "**I2C: Condicion de start**\n\nSDA y SCL están inicialmente en reposo (1). Al llegar un \ntic por start, se genera la condición de start, que consiste \nen poner SDA a 0 y trancurrido un tiempo T1, el reloj SCL \ntambién se pone a 0", + "readonly": true + }, + "position": { + "x": -8, + "y": -184 + }, + "size": { + "width": 488, + "height": 96 + } + }, + { + "id": "99db5402-e938-480d-8af1-2d06de283e68", + "type": "basic.info", + "data": { + "info": "**Estado de SDA** \n(datos) \nInicialmente a 1", + "readonly": true + }, + "position": { + "x": 400, + "y": 8 + }, + "size": { + "width": 176, + "height": 64 + } + }, + { + "id": "59ae699f-9133-4108-b510-b0969f8dfcf6", + "type": "basic.info", + "data": { + "info": "**Línea de datos**", + "readonly": true + }, + "position": { + "x": 568, + "y": 184 + }, + "size": { + "width": 160, + "height": 40 + } + }, + { + "id": "3b3ca662-cacb-4ee0-ac34-899858c76d9f", + "type": "basic.info", + "data": { + "info": "La señal SCL está \nretrasada T1 con \nrespecto a SDA", + "readonly": true + }, + "position": { + "x": 712, + "y": 360 + }, + "size": { + "width": 160, + "height": 64 + } + }, + { + "id": "0c7f5554-984c-47fa-8c23-06dca0323445", + "type": "basic.info", + "data": { + "info": "Detectar cuando SDA \nha bajado a 0", + "readonly": true + }, + "position": { + "x": 544, + "y": 376 + }, + "size": { + "width": 176, + "height": 56 + } + }, + { + "id": "63b64cd5-55d5-4a5b-be1f-55fce5dab709", + "type": "basic.info", + "data": { + "info": "**Estado de SCL** (Reloj) \nInicialmente a 1", + "readonly": true + }, + "position": { + "x": 920, + "y": 112 + }, + "size": { + "width": 168, + "height": 48 + } + }, + { + "id": "0c5e2f7d-b563-465b-aa4d-770b1e14f1ab", + "type": "basic.info", + "data": { + "info": "Al activarse start, SDA \nbaja a 0", + "readonly": true + }, + "position": { + "x": 264, + "y": 336 + }, + "size": { + "width": 192, + "height": 64 + } + }, + { + "id": "c61090f2-72e4-47e0-bd4e-f489b07e3d62", + "type": "basic.info", + "data": { + "info": "Volver al estado de \nreposo (SDA=1, SCL=1)", + "readonly": true + }, + "position": { + "x": 72, + "y": 152 + }, + "size": { + "width": 192, + "height": 56 + } + }, + { + "id": "d389f312-fb27-41f2-8683-b3771e5d628e", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 928, + "y": 424 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "ba8e435f-a5c4-47dc-96d8-b06ce5af1ceb", + "type": "basic.info", + "data": { + "info": "Emitir un tic para indicar \nque la condición de estar \nse ha ejecutado", + "readonly": true + }, + "position": { + "x": 1032, + "y": 360 + }, + "size": { + "width": 240, + "height": 72 + } + } + ], + "wires": [ + { + "source": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "e69a71cb-1e3d-49df-a1cc-81fa1126bbb9", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "5dc401ee-7963-464f-8ab5-e8ddedf191e2", + "port": "constant-out" + }, + "target": { + "block": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "70332deb-97ed-4ae9-aab5-41813b842b63", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "3d54bf83-8d31-4eb5-bb7a-ccbe53ede036", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "70332deb-97ed-4ae9-aab5-41813b842b63", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [] + }, + { + "source": { + "block": "c73dcb8e-e43f-4550-bccf-cc3cdd24929b", + "port": "constant-out" + }, + "target": { + "block": "70332deb-97ed-4ae9-aab5-41813b842b63", + "port": "bf12a800-db30-4289-a7c5-8c08438f9a39" + }, + "vertices": [] + }, + { + "source": { + "block": "a628dcfa-b41e-4605-a6b0-9637f4162e3d", + "port": "constant-out" + }, + "target": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "bf12a800-db30-4289-a7c5-8c08438f9a39" + }, + "vertices": [] + }, + { + "source": { + "block": "2d249745-5883-469d-bf5a-5526f4e2f8c9", + "port": "out" + }, + "target": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + }, + "vertices": [] + }, + { + "source": { + "block": "ef30e58a-55bb-4f96-87ef-485fcb87bb23", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + }, + "vertices": [] + }, + { + "source": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "ef30e58a-55bb-4f96-87ef-485fcb87bb23", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [ + { + "x": 504, + "y": 240 + } + ] + }, + { + "source": { + "block": "779750dc-e68a-4a62-bb4a-a26b3b32c55c", + "port": "out" + }, + "target": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "2d249745-5883-469d-bf5a-5526f4e2f8c9", + "port": "out" + }, + "target": { + "block": "70332deb-97ed-4ae9-aab5-41813b842b63", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + }, + "vertices": [ + { + "x": 208, + "y": 456 + }, + { + "x": 856, + "y": 376 + } + ] + }, + { + "source": { + "block": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "port": "out" + }, + "target": { + "block": "da65e165-f890-456d-99b1-b01df995f4c6", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "port": "out" + }, + "target": { + "block": "ef30e58a-55bb-4f96-87ef-485fcb87bb23", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + }, + "vertices": [ + { + "x": 528, + "y": 88 + } + ] + }, + { + "source": { + "block": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "port": "out" + }, + "target": { + "block": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + } + }, + { + "source": { + "block": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "port": "out" + }, + "target": { + "block": "70332deb-97ed-4ae9-aab5-41813b842b63", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + }, + "vertices": [ + { + "x": 896, + "y": 200 + } + ] + }, + { + "source": { + "block": "d389f312-fb27-41f2-8683-b3771e5d628e", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "178cb827-993b-4cf3-b94f-282a9098fcd0", + "port": "in" + } + }, + { + "source": { + "block": "cd6c30b0-11d0-450f-ac49-90598206b72e", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "d389f312-fb27-41f2-8683-b3771e5d628e", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 880, + "y": 376 + } + ] + }, + { + "source": { + "block": "84b853c2-3707-4f0b-b32b-484b03b19f61", + "port": "out" + }, + "target": { + "block": "d389f312-fb27-41f2-8683-b3771e5d628e", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 896, + "y": 368 + } + ] + } + ] + } + } + }, + "8ba640a4be8254a54e8c2dfad99a8fb6a07b5752": { + "package": { + "name": "i2c-nak", + "version": "0.1", + "description": "Detección de los ACKs del esclavo. Si no se recibe, se activa la salida NAK", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "b2c9360e-b412-4621-af8b-a8762be2b072", + "type": "basic.input", + "data": { + "name": "clk", + "clock": false + }, + "position": { + "x": 272, + "y": 152 + } + }, + { + "id": "0b3c9646-6557-423b-90de-df434a651a71", + "type": "basic.output", + "data": { + "name": "nak" + }, + "position": { + "x": 1136, + "y": 256 + } + }, + { + "id": "4f968b50-2b7d-4192-a522-aade138c8ae1", + "type": "basic.input", + "data": { + "name": "sda_in", + "clock": false + }, + "position": { + "x": 256, + "y": 256 + } + }, + { + "id": "4889ff2d-1850-4fad-bae9-8c1cc8efcdea", + "type": "basic.input", + "data": { + "name": "win", + "clock": false + }, + "position": { + "x": 256, + "y": 344 + } + }, + { + "id": "90b13235-c3b7-46a1-bdfd-f9d3d6b7ddf5", + "type": "basic.input", + "data": { + "name": "rs", + "clock": false + }, + "position": { + "x": 256, + "y": 432 + } + }, + { + "id": "40e65064-7137-4959-aa9e-f6111677c062", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 496 + } + }, + { + "id": "3bdb92a5-ad72-4f36-a8ad-acc3178f5df9", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 560, + "y": 272 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d56e056d-c720-4463-802b-b5454811164c", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 984, + "y": 240 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "b6b1d6f5-b3b8-493f-886f-2a1fafbf2d19", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": 704, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "e26aeb27-df86-4761-a854-d13b9e7fd79b", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 432, + "y": 360 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "d56e056d-c720-4463-802b-b5454811164c", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "0b3c9646-6557-423b-90de-df434a651a71", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "b6b1d6f5-b3b8-493f-886f-2a1fafbf2d19", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "d56e056d-c720-4463-802b-b5454811164c", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + }, + "vertices": [] + }, + { + "source": { + "block": "3bdb92a5-ad72-4f36-a8ad-acc3178f5df9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "b6b1d6f5-b3b8-493f-886f-2a1fafbf2d19", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [] + }, + { + "source": { + "block": "e26aeb27-df86-4761-a854-d13b9e7fd79b", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "3bdb92a5-ad72-4f36-a8ad-acc3178f5df9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "4f968b50-2b7d-4192-a522-aade138c8ae1", + "port": "out" + }, + "target": { + "block": "3bdb92a5-ad72-4f36-a8ad-acc3178f5df9", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "90b13235-c3b7-46a1-bdfd-f9d3d6b7ddf5", + "port": "out" + }, + "target": { + "block": "e26aeb27-df86-4761-a854-d13b9e7fd79b", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "4889ff2d-1850-4fad-bae9-8c1cc8efcdea", + "port": "out" + }, + "target": { + "block": "e26aeb27-df86-4761-a854-d13b9e7fd79b", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "40e65064-7137-4959-aa9e-f6111677c062", + "port": "out" + }, + "target": { + "block": "d56e056d-c720-4463-802b-b5454811164c", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + } + }, + { + "source": { + "block": "b2c9360e-b412-4621-af8b-a8762be2b072", + "port": "out" + }, + "target": { + "block": "b6b1d6f5-b3b8-493f-886f-2a1fafbf2d19", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "b2c9360e-b412-4621-af8b-a8762be2b072", + "port": "out" + }, + "target": { + "block": "d56e056d-c720-4463-802b-b5454811164c", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + } + ] + } + } + }, + "56e0da7091190448826e12c0590f60e2927ced42": { + "package": { + "name": "Registro-desplazamiento", + "version": "0.1", + "description": "Registro de desplazamiento (izquierda) de 8 bits", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22519.236%22%20height=%22347.269%22%20viewBox=%220%200%20137.38127%2091.881653%22%3E%3Cdefs%3E%3Cmarker%20orient=%22auto%22%20id=%22a%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M-5.231-2.42L1.324-.01-5.23%202.401c1.047-1.423%201.041-3.37%200-4.821z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.375%22%20stroke-linejoin=%22round%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M41.506%2057.974l13.608%2016.672-6.918-20.535%22%20fill=%22#ccc%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M34.122%2049.91L24.89%2030.296l-6.45%203.724-2.07-3.584%2020.905-12.069%202.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%2062.842s-2.849-3.696-2.16-6.796c.687-3.1%203.265-6.136%203.265-6.136z%22%20fill=%22red%22%20stroke=%22#000%22%20stroke-width=%221.092%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22translate(-93.518%20-4.843)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M81.95%2057.974l13.607%2016.671-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M74.566%2049.91l-9.232-19.613-6.451%203.724-2.069-3.584%2020.905-12.069%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.772L73.46%2062.842s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M121.637%2057.974l13.608%2016.671-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M114.253%2049.91l-9.232-19.613-6.45%203.724-2.07-3.584%2020.905-12.069%202.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.772l-23.689%2013.638s-2.848-3.696-2.16-6.796c.688-3.1%203.266-6.137%203.266-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cpath%20d=%22M197.304%20102.342H88.824%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.646%22%20marker-end=%22url(#a)%22%20transform=%22translate(-69.649%20-95.494)%22/%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "53ae64df-468f-4f52-b3d9-99da065d5a22", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 224, + "y": 248 + } + }, + { + "id": "21039c06-c932-498c-968d-879a68d66795", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 920, + "y": 264 + } + }, + { + "id": "ed62d7ef-27fb-44ef-99e8-a19bad6342dd", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 224, + "y": 312 + } + }, + { + "id": "90654ccb-afdd-41ec-aaf8-b9be5b51253b", + "type": "basic.output", + "data": { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 928, + "y": 352 + } + }, + { + "id": "e6088243-1d79-4783-ac0f-528d9700b6df", + "type": "basic.input", + "data": { + "name": "shift", + "clock": false + }, + "position": { + "x": 224, + "y": 368 + } + }, + { + "id": "5a757228-e2d2-45fb-9241-ebecb5a14315", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 576, + "y": 144 + } + }, + { + "id": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits el registros de desplazamiento\nlocalparam N = 8;\n\nreg [N-1:0] q = INI;\n\nalways @(posedge clk)\n if (shift)\n q <= {q[N-2:0], si};\n \n//-- Sacar el bit de mayor peso por serial-out \nassign so = q[N-1];", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "si" + }, + { + "name": "shift" + } + ], + "out": [ + { + "name": "so" + }, + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 384, + "y": 248 + }, + "size": { + "width": 480, + "height": 184 + } + } + ], + "wires": [ + { + "source": { + "block": "5a757228-e2d2-45fb-9241-ebecb5a14315", + "port": "constant-out" + }, + "target": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "INI" + }, + "vertices": [] + }, + { + "source": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "so" + }, + "target": { + "block": "21039c06-c932-498c-968d-879a68d66795", + "port": "in" + } + }, + { + "source": { + "block": "ed62d7ef-27fb-44ef-99e8-a19bad6342dd", + "port": "out" + }, + "target": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "si" + } + }, + { + "source": { + "block": "e6088243-1d79-4783-ac0f-528d9700b6df", + "port": "out" + }, + "target": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "shift" + } + }, + { + "source": { + "block": "53ae64df-468f-4f52-b3d9-99da065d5a22", + "port": "out" + }, + "target": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "clk" + } + }, + { + "source": { + "block": "e46df4d6-ebfb-4445-bc4f-7f082c6b5361", + "port": "q" + }, + "target": { + "block": "90654ccb-afdd-41ec-aaf8-b9be5b51253b", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "42ebf732ed72b2aa979e6858281bfe62c10bec5f": { + "package": { + "name": "Biestable-D", + "version": "0.1", + "description": "Biestable de datos (Tipo D). Cuando se recibe un tic por load se captura el dato", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 200, + "y": 96 + } + }, + { + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "d", + "clock": false + }, + "position": { + "x": 176, + "y": 184 + } + }, + { + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 680, + "y": 184 + } + }, + { + "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 176, + "y": 248 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 456, + "y": 64 + } + }, + { + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "reg q = INI;\nalways @(posedge clk)\n if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 384, + "y": 168 + }, + "size": { + "width": 232, + "height": 88 + } + } + ], + "wires": [ + { + "source": { + "block": "3943e194-090b-4553-9df3-88bc4b17abc2", + "port": "out" + }, + "target": { + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "clk" + } + }, + { + "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" + } + }, + { + "source": { + "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", + "port": "out" + }, + "target": { + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "load" + } + } + ] + } + } + }, + "c146d4232b872efc8bb891cd29094024e9cc2c54": { + "package": { + "name": "i2c-io", + "version": "0.1", + "description": "Gestion de la entrada/salida en el bus i2c", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "72e82947-787f-49f6-b4a4-7fe8f68e573d", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 624, + "y": 160 + } + }, + { + "id": "543d92bb-e56e-4aed-a598-1c40b3773841", + "type": "basic.output", + "data": { + "name": "win" + }, + "position": { + "x": 1464, + "y": 288 + } + }, + { + "id": "0096caa8-5e84-418c-9f49-61cccdca8cc0", + "type": "basic.input", + "data": { + "name": "bitclk", + "clock": false + }, + "position": { + "x": 624, + "y": 408 + } + }, + { + "id": "ae5d3417-2c71-4761-9b1e-cfcbc27d0e52", + "type": "basic.output", + "data": { + "name": "b9" + }, + "position": { + "x": 1472, + "y": 448 + } + }, + { + "id": "0f70b35b-6842-4890-8201-e9a5f2278150", + "type": "basic.input", + "data": { + "name": "rs", + "clock": false + }, + "position": { + "x": 616, + "y": 576 + } + }, + { + "id": "de068252-1546-4d1a-8452-955530fdf5de", + "type": "basic.output", + "data": { + "name": "oe" + }, + "position": { + "x": 1520, + "y": 624 + } + }, + { + "id": "3e14c77c-be98-43cb-aa0d-b1a391a5374e", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 616, + "y": 688 + } + }, + { + "id": "20ba5dd2-31fb-49c1-96e4-0a4b1cc63de8", + "type": "basic.constant", + "data": { + "name": "", + "value": "1", + "local": true + }, + "position": { + "x": 800, + "y": 536 + } + }, + { + "id": "a4e37a91-ed2c-4544-a8a1-88e361e6b85e", + "type": "basic.constant", + "data": { + "name": "", + "value": "9", + "local": true + }, + "position": { + "x": 840, + "y": 264 + } + }, + { + "id": "38a8060f-f313-449e-9214-25f933b9cd60", + "type": "basic.constant", + "data": { + "name": "Anchura-bit", + "value": "5", + "local": true + }, + "position": { + "x": 1040, + "y": 280 + } + }, + { + "id": "17946732-21fc-48c5-93f3-e9d1ad735480", + "type": "d014cb3dfd6b6e5082638cf2bc2db2c35c5b37a8", + "position": { + "x": 840, + "y": 360 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "224c436d-92d3-4409-9218-c29ae5e585fb", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 1040, + "y": 384 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "d40380ec-f9b9-4be8-93ab-bcc30a6aa905", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 1192, + "y": 368 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "type": "42ebf732ed72b2aa979e6858281bfe62c10bec5f", + "position": { + "x": 800, + "y": 640 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "fecc8639-d6d9-4f93-bc5b-109017ef4ea1", + "type": "basic.info", + "data": { + "info": "rs bit \n(receive/send) \n0: receive \n1: send ", + "readonly": true + }, + "position": { + "x": 816, + "y": 472 + }, + "size": { + "width": 136, + "height": 80 + } + }, + { + "id": "3f72c3df-a929-4a36-8d1f-c71ed30bdc57", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 1056, + "y": 496 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "f1f257f6-cbd6-4ce0-a55b-dfd37a5f7e61", + "type": "5cc6ec961df1a19b78d61422b28169fc0f69384b", + "position": { + "x": 1352, + "y": 608 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "9483c808-f5f7-423e-ba81-52d9e12c812b", + "type": "basic.info", + "data": { + "info": "Receive-send bit", + "readonly": true + }, + "position": { + "x": 616, + "y": 552 + }, + "size": { + "width": 176, + "height": 40 + } + }, + { + "id": "c061da2d-fea9-42bb-82f3-9cec484aa116", + "type": "basic.info", + "data": { + "info": "ack window \nThis output is 1 only \nwhen the 9th bit is being \nsent", + "readonly": true + }, + "position": { + "x": 1392, + "y": 216 + }, + "size": { + "width": 232, + "height": 88 + } + }, + { + "id": "dd7847f3-ea23-454b-a234-13b78250d000", + "type": "d30ca9ee4f35f6cb76d5e5701447fc2b739bc640", + "position": { + "x": 592, + "y": 312 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "a4e37a91-ed2c-4544-a8a1-88e361e6b85e", + "port": "constant-out" + }, + "target": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c" + }, + "vertices": [] + }, + { + "source": { + "block": "38a8060f-f313-449e-9214-25f933b9cd60", + "port": "constant-out" + }, + "target": { + "block": "224c436d-92d3-4409-9218-c29ae5e585fb", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "224c436d-92d3-4409-9218-c29ae5e585fb", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + }, + "vertices": [] + }, + { + "source": { + "block": "224c436d-92d3-4409-9218-c29ae5e585fb", + "port": "c45dab76-9d0f-4742-9e4d-3048637d245d" + }, + "target": { + "block": "d40380ec-f9b9-4be8-93ab-bcc30a6aa905", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "3f72c3df-a929-4a36-8d1f-c71ed30bdc57", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + }, + "vertices": [ + { + "x": 992, + "y": 472 + } + ] + }, + { + "source": { + "block": "d40380ec-f9b9-4be8-93ab-bcc30a6aa905", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "f1f257f6-cbd6-4ce0-a55b-dfd37a5f7e61", + "port": "5898179a-7390-429b-ac3c-b7a0df673610" + }, + "vertices": [] + }, + { + "source": { + "block": "3f72c3df-a929-4a36-8d1f-c71ed30bdc57", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "f1f257f6-cbd6-4ce0-a55b-dfd37a5f7e61", + "port": "db089906-4326-4b59-8aa5-ebb61116a4cd" + }, + "vertices": [ + { + "x": 1200, + "y": 584 + } + ] + }, + { + "source": { + "block": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "f1f257f6-cbd6-4ce0-a55b-dfd37a5f7e61", + "port": "1e637a79-4a6d-495c-bcac-9664bdbe4b94" + }, + "vertices": [] + }, + { + "source": { + "block": "f1f257f6-cbd6-4ce0-a55b-dfd37a5f7e61", + "port": "0ef557c8-5378-43b3-80af-176f129f1a07" + }, + "target": { + "block": "de068252-1546-4d1a-8452-955530fdf5de", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "20ba5dd2-31fb-49c1-96e4-0a4b1cc63de8", + "port": "constant-out" + }, + "target": { + "block": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "port": "65194b18-5d2a-41b2-bd86-01be99978ad6" + } + }, + { + "source": { + "block": "3e14c77c-be98-43cb-aa0d-b1a391a5374e", + "port": "out" + }, + "target": { + "block": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + } + }, + { + "source": { + "block": "0f70b35b-6842-4890-8201-e9a5f2278150", + "port": "out" + }, + "target": { + "block": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 736, + "y": 632 + } + ] + }, + { + "source": { + "block": "0096caa8-5e84-418c-9f49-61cccdca8cc0", + "port": "out" + }, + "target": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + } + }, + { + "source": { + "block": "3e14c77c-be98-43cb-aa0d-b1a391a5374e", + "port": "out" + }, + "target": { + "block": "3f72c3df-a929-4a36-8d1f-c71ed30bdc57", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 880, + "y": 768 + } + ] + }, + { + "source": { + "block": "224c436d-92d3-4409-9218-c29ae5e585fb", + "port": "c45dab76-9d0f-4742-9e4d-3048637d245d" + }, + "target": { + "block": "543d92bb-e56e-4aed-a598-1c40b3773841", + "port": "in" + } + }, + { + "source": { + "block": "72e82947-787f-49f6-b4a4-7fe8f68e573d", + "port": "out" + }, + "target": { + "block": "224c436d-92d3-4409-9218-c29ae5e585fb", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + } + }, + { + "source": { + "block": "72e82947-787f-49f6-b4a4-7fe8f68e573d", + "port": "out" + }, + "target": { + "block": "c2bbb627-6dd2-4f17-822a-756a3a3bad2c", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "72e82947-787f-49f6-b4a4-7fe8f68e573d", + "port": "out" + }, + "target": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + }, + "vertices": [ + { + "x": 784, + "y": 296 + } + ] + }, + { + "source": { + "block": "72e82947-787f-49f6-b4a4-7fe8f68e573d", + "port": "out" + }, + "target": { + "block": "3f72c3df-a929-4a36-8d1f-c71ed30bdc57", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "ae5d3417-2c71-4761-9b1e-cfcbc27d0e52", + "port": "in" + }, + "vertices": [ + { + "x": 968, + "y": 464 + } + ] + }, + { + "source": { + "block": "dd7847f3-ea23-454b-a234-13b78250d000", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "17946732-21fc-48c5-93f3-e9d1ad735480", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + }, + "vertices": [ + { + "x": 744, + "y": 360 + } + ] + } + ] + } + } + }, + "d014cb3dfd6b6e5082638cf2bc2db2c35c5b37a8": { + "package": { + "name": "Contador-8bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 8 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 176 + } + }, + { + "id": "e2091457-8509-494f-96fc-4a2907d9575f", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 280 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 376 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "256", + "local": false + }, + "position": { + "x": 528, + "y": 48 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 8; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 0;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + } + ], + "wires": [ + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "e2091457-8509-494f-96fc-4a2907d9575f", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "5cc6ec961df1a19b78d61422b28169fc0f69384b": { + "package": { + "name": "Mux 2 a 1", + "version": "0.0.1", + "description": "Multiplexor de 2 a 1", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "5898179a-7390-429b-ac3c-b7a0df673610", + "type": "basic.input", + "data": { + "name": "i1", + "clock": false + }, + "position": { + "x": -704, + "y": -88 + } + }, + { + "id": "db089906-4326-4b59-8aa5-ebb61116a4cd", + "type": "basic.input", + "data": { + "name": "i0", + "clock": false + }, + "position": { + "x": -704, + "y": 0 + } + }, + { + "id": "0ef557c8-5378-43b3-80af-176f129f1a07", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": -48, + "y": 0 + } + }, + { + "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": -704, + "y": 88 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg _o;\n\nalways @(*) begin\n case(sel)\n 0: _o = i0;\n 1: _o = i1;\n default: _o = i0;\n endcase\nend\n\nassign o = _o;\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1" + }, + { + "name": "i0" + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o" + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 304, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "sel" + } + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "0ef557c8-5378-43b3-80af-176f129f1a07", + "port": "in" + } + }, + { + "source": { + "block": "db089906-4326-4b59-8aa5-ebb61116a4cd", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + } + }, + { + "source": { + "block": "5898179a-7390-429b-ac3c-b7a0df673610", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + } + } + ] + } + } + }, + "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 + } + }, + { + "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" + } + ] + } + }, + "position": { + "x": 168, + "y": 112 + }, + "size": { + "width": 248, + "height": 80 + } + } + ], + "wires": [ + { + "source": { + "block": "61331ec5-2c56-4cdd-b607-e63b1502fa65", + "port": "q" + }, + "target": { + "block": "3d584b0a-29eb-47af-8c43-c0822282ef05", + "port": "in" + } + } + ] + } + } + }, + "3e4cef8e5d182ddc9806ac0f5a9ee24351737373": { + "package": { + "name": "i2c-stop", + "version": "0.1", + "description": "Generar una condición de parada en el bus i2c", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0f4f7955-4539-4804-a906-db4abd29fcac", + "type": "basic.input", + "data": { + "name": "clk", + "clock": false + }, + "position": { + "x": 192, + "y": -8 + } + }, + { + "id": "7d9cf16e-b23e-4358-a2fb-baaa07df6deb", + "type": "basic.output", + "data": { + "name": "sda" + }, + "position": { + "x": 1472, + "y": 304 + } + }, + { + "id": "bcadfb63-1fdf-43bc-9899-675e5f3658cb", + "type": "basic.input", + "data": { + "name": "sda", + "clock": false + }, + "position": { + "x": 440, + "y": 320 + } + }, + { + "id": "dbf76d1d-8bfd-4200-b03e-eb455043634d", + "type": "basic.input", + "data": { + "name": "scl", + "clock": false + }, + "position": { + "x": 440, + "y": 384 + } + }, + { + "id": "a405ecb1-98ac-4483-8159-6045ca825985", + "type": "basic.output", + "data": { + "name": "scl" + }, + "position": { + "x": 1472, + "y": 448 + } + }, + { + "id": "58c39529-9934-4dc2-af86-ab5efe0bbad1", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 440, + "y": 592 + } + }, + { + "id": "18918c51-cad4-4993-b228-985afc99944e", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1608, + "y": 624 + } + }, + { + "id": "f673b29c-1604-497b-b36d-2f180e7db0ce", + "type": "basic.constant", + "data": { + "name": "T3", + "value": "5", + "local": true + }, + "position": { + "x": 664, + "y": 480 + } + }, + { + "id": "b4ecabd8-4c81-45fa-a288-cdd1053a7103", + "type": "basic.constant", + "data": { + "name": "T2", + "value": "2", + "local": false + }, + "position": { + "x": 872, + "y": 128 + } + }, + { + "id": "e9bd53c9-72d0-4807-9517-94854161e068", + "type": "basic.info", + "data": { + "info": "Generar una condición de Stop en el Bus I2C \nCuando está en reposo, las entradas sda y scl atraviesan el \nbloque sin modificación. Cuando se activa start, comienza la \ngeneración de la condición de parada, y SCL se pone a 1. \nTranscurrido un tiempo T2, SDA se pone a 1 también \nSe señalliza en done que se ha completado", + "readonly": true + }, + "position": { + "x": 656, + "y": -168 + }, + "size": { + "width": 504, + "height": 104 + } + }, + { + "id": "5f981830-9909-48eb-a685-1866414de350", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 912, + "y": 576 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "1adf02bf-5c06-4fab-99bc-de5acac28e78", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1040, + "y": 448 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "596d476b-7130-4489-81e7-e94e8fdde5b9", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 1208, + "y": 224 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "151846a8-1a98-4690-b266-d72e69da52b2", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 872, + "y": 224 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "4d7657cb-2fe3-4b3d-b3a7-67c085fc221a", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1336, + "y": 304 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "2e6b8317-5b98-49ef-8e02-012434195806", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 1040, + "y": 128 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "9c32849d-8da7-429a-9768-582042551076", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 664, + "y": 576 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8d308b75-de5a-4a05-b8cf-f64d9674ddaf", + "type": "basic.info", + "data": { + "info": "Espera previa al stop", + "readonly": true + }, + "position": { + "x": 672, + "y": 440 + }, + "size": { + "width": 192, + "height": 32 + } + }, + { + "id": "a10c878a-a76e-47e2-87cb-579131d83cfb", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 440, + "y": 512 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "1adf02bf-5c06-4fab-99bc-de5acac28e78", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "a405ecb1-98ac-4483-8159-6045ca825985", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "5f981830-9909-48eb-a685-1866414de350", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "1adf02bf-5c06-4fab-99bc-de5acac28e78", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "151846a8-1a98-4690-b266-d72e69da52b2", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "596d476b-7130-4489-81e7-e94e8fdde5b9", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + }, + "vertices": [] + }, + { + "source": { + "block": "b4ecabd8-4c81-45fa-a288-cdd1053a7103", + "port": "constant-out" + }, + "target": { + "block": "151846a8-1a98-4690-b266-d72e69da52b2", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "4d7657cb-2fe3-4b3d-b3a7-67c085fc221a", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "7d9cf16e-b23e-4358-a2fb-baaa07df6deb", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "596d476b-7130-4489-81e7-e94e8fdde5b9", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "4d7657cb-2fe3-4b3d-b3a7-67c085fc221a", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "2e6b8317-5b98-49ef-8e02-012434195806", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "18918c51-cad4-4993-b228-985afc99944e", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "151846a8-1a98-4690-b266-d72e69da52b2", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "2e6b8317-5b98-49ef-8e02-012434195806", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [] + }, + { + "source": { + "block": "dbf76d1d-8bfd-4200-b03e-eb455043634d", + "port": "out" + }, + "target": { + "block": "1adf02bf-5c06-4fab-99bc-de5acac28e78", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "bcadfb63-1fdf-43bc-9899-675e5f3658cb", + "port": "out" + }, + "target": { + "block": "4d7657cb-2fe3-4b3d-b3a7-67c085fc221a", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + } + }, + { + "source": { + "block": "a10c878a-a76e-47e2-87cb-579131d83cfb", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "5f981830-9909-48eb-a685-1866414de350", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 568, + "y": 600 + } + ] + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "151846a8-1a98-4690-b266-d72e69da52b2", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + } + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "5f981830-9909-48eb-a685-1866414de350", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "2e6b8317-5b98-49ef-8e02-012434195806", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "596d476b-7130-4489-81e7-e94e8fdde5b9", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "f673b29c-1604-497b-b36d-2f180e7db0ce", + "port": "constant-out" + }, + "target": { + "block": "9c32849d-8da7-429a-9768-582042551076", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "58c39529-9934-4dc2-af86-ab5efe0bbad1", + "port": "out" + }, + "target": { + "block": "9c32849d-8da7-429a-9768-582042551076", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + } + }, + { + "source": { + "block": "9c32849d-8da7-429a-9768-582042551076", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "5f981830-9909-48eb-a685-1866414de350", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "9c32849d-8da7-429a-9768-582042551076", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "151846a8-1a98-4690-b266-d72e69da52b2", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + } + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "9c32849d-8da7-429a-9768-582042551076", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + } + }, + { + "source": { + "block": "a10c878a-a76e-47e2-87cb-579131d83cfb", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "596d476b-7130-4489-81e7-e94e8fdde5b9", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 608, + "y": 376 + } + ] + }, + { + "source": { + "block": "2e6b8317-5b98-49ef-8e02-012434195806", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "a10c878a-a76e-47e2-87cb-579131d83cfb", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [ + { + "x": 1168, + "y": 712 + } + ] + }, + { + "source": { + "block": "0f4f7955-4539-4804-a906-db4abd29fcac", + "port": "out" + }, + "target": { + "block": "a10c878a-a76e-47e2-87cb-579131d83cfb", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + } + ] + } + } + }, + "f1c84b11f2df5ee213cec33e6f9af2d0c66e6924": { + "package": { + "name": "i2c-data", + "version": "0.1", + "description": "Inyectar un byte en el bus i2c", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "7861c061-e90b-46bb-a639-6399f55f7f11", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 800, + "y": 320 + } + }, + { + "id": "20e1709f-bff4-4373-a485-5af7052a37d7", + "type": "basic.output", + "data": { + "name": "sda" + }, + "position": { + "x": 1760, + "y": 648 + } + }, + { + "id": "748fced1-f2be-412a-87de-a0d8276e6a06", + "type": "basic.input", + "data": { + "name": "sda", + "clock": false + }, + "position": { + "x": 552, + "y": 664 + } + }, + { + "id": "63a0f19e-1e7c-4e61-b89a-f6fc4eb74afb", + "type": "basic.input", + "data": { + "name": "scl", + "clock": false + }, + "position": { + "x": 568, + "y": 744 + } + }, + { + "id": "9290b4c2-5520-4b99-97d3-a140a411a149", + "type": "basic.output", + "data": { + "name": "scl" + }, + "position": { + "x": 1760, + "y": 760 + } + }, + { + "id": "ed0e5489-e9b1-4b92-bcfb-22f3737d1c93", + "type": "basic.input", + "data": { + "name": "data", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": 576, + "y": 840 + } + }, + { + "id": "b987c71e-d76f-43eb-8371-a2aa09d98d15", + "type": "basic.output", + "data": { + "name": "bitclk" + }, + "position": { + "x": 1760, + "y": 880 + } + }, + { + "id": "cdf85427-0efe-4adb-b48d-dab3daccacce", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 560, + "y": 1008 + } + }, + { + "id": "1d8c0dd2-96bc-462a-8a33-05472851522d", + "type": "basic.output", + "data": { + "name": "io_start" + }, + "position": { + "x": 1800, + "y": 1080 + } + }, + { + "id": "412c6872-b61e-4af8-8ece-577a8adb185c", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1784, + "y": 1176 + } + }, + { + "id": "9873b349-7163-44e3-9df0-a07acbfd5246", + "type": "basic.constant", + "data": { + "name": "T_tics", + "value": "121", + "local": false + }, + "position": { + "x": 960, + "y": 816 + } + }, + { + "id": "6f699db9-abd0-4949-a539-cfeda25e33bb", + "type": "basic.constant", + "data": { + "name": "", + "value": "9", + "local": true + }, + "position": { + "x": 1064, + "y": 800 + } + }, + { + "id": "0f091ac3-4f1e-4e21-bc52-01c9a5ca5f5f", + "type": "basic.constant", + "data": { + "name": "Desfase", + "value": "2", + "local": true + }, + "position": { + "x": 1256, + "y": 840 + } + }, + { + "id": "41219c53-959c-4775-a2b7-db9651d3ed72", + "type": "basic.constant", + "data": { + "name": "Anchura-bit", + "value": "5", + "local": true + }, + "position": { + "x": 1432, + "y": 832 + } + }, + { + "id": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 1432, + "y": 952 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a917add8-1ea1-42af-8b62-6f2d1992bce8", + "type": "basic.info", + "data": { + "info": "121 tics son 10us", + "readonly": true + }, + "position": { + "x": 936, + "y": 784 + }, + "size": { + "width": 168, + "height": 40 + } + }, + { + "id": "73336d4a-efcf-49a6-860f-eca956b28ec6", + "type": "21cfcc19a4ad14c5fb5e8cfebd018ec356fe7542", + "position": { + "x": 936, + "y": 480 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "type": "3b630a3c35b04c9bdcc4afaf4a01b0b1b8d06887", + "position": { + "x": 1256, + "y": 936 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8395e674-0340-4dc6-9e01-751771607b4d", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1568, + "y": 760 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "c634a0fa-aa43-4d13-b5fe-cda297a287a4", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1568, + "y": 648 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "7d4113a9-19b2-4434-8002-7f671360852b", + "type": "086d7dc26b794983217c4161c26b85dc62375d9d", + "position": { + "x": 984, + "y": 968 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "f3da83aa-48cf-4e21-8e2f-60e045183b92", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 1168, + "y": 1016 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8849d683-2013-4619-9116-4adde501529e", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1656, + "y": 944 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "cf48b06f-8921-4666-afba-ccc17b535b28", + "type": "basic.info", + "data": { + "info": "Arrancar el módulo \nde gestión del pin io", + "readonly": true + }, + "position": { + "x": 1784, + "y": 1024 + }, + "size": { + "width": 200, + "height": 56 + } + }, + { + "id": "44073844-b550-4911-affe-bdadca704a6f", + "type": "45f630ea95c6847db8df0598c312ef9acfa981a3", + "position": { + "x": 1432, + "y": 456 + }, + "size": { + "width": 96, + "height": 128 + } + }, + { + "id": "1e424507-5096-47f9-8437-b35c1c3b343d", + "type": "53847c98bfef0fe28fbef1f4f65042911f361c44", + "position": { + "x": 1208, + "y": 480 + }, + "size": { + "width": 96, + "height": 160 + } + } + ], + "wires": [ + { + "source": { + "block": "6f699db9-abd0-4949-a539-cfeda25e33bb", + "port": "constant-out" + }, + "target": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "1caece2e-e3d8-4102-af87-572c05b24e16" + }, + "vertices": [] + }, + { + "source": { + "block": "9873b349-7163-44e3-9df0-a07acbfd5246", + "port": "constant-out" + }, + "target": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "96ad1612-7936-4672-b660-9285d183f749" + }, + "vertices": [] + }, + { + "source": { + "block": "41219c53-959c-4775-a2b7-db9651d3ed72", + "port": "constant-out" + }, + "target": { + "block": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "21039c06-c932-498c-968d-879a68d66795" + }, + "target": { + "block": "44073844-b550-4911-affe-bdadca704a6f", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [] + }, + { + "source": { + "block": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + }, + "vertices": [] + }, + { + "source": { + "block": "0f091ac3-4f1e-4e21-bc52-01c9a5ca5f5f", + "port": "constant-out" + }, + "target": { + "block": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "port": "7ca578e5-8e36-4c04-bbea-144418c8e9af" + }, + "vertices": [] + }, + { + "source": { + "block": "8395e674-0340-4dc6-9e01-751771607b4d", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "9290b4c2-5520-4b99-97d3-a140a411a149", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "port": "c45dab76-9d0f-4742-9e4d-3048637d245d" + }, + "target": { + "block": "8395e674-0340-4dc6-9e01-751771607b4d", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "c634a0fa-aa43-4d13-b5fe-cda297a287a4", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "20e1709f-bff4-4373-a485-5af7052a37d7", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "44073844-b550-4911-affe-bdadca704a6f", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "c634a0fa-aa43-4d13-b5fe-cda297a287a4", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "748fced1-f2be-412a-87de-a0d8276e6a06", + "port": "out" + }, + "target": { + "block": "c634a0fa-aa43-4d13-b5fe-cda297a287a4", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "cdf85427-0efe-4adb-b48d-dab3daccacce", + "port": "out" + }, + "target": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "bcfe1e9b-4bb8-43c2-bbea-d82aeb7dce9d" + } + }, + { + "source": { + "block": "63a0f19e-1e7c-4e61-b89a-f6fc4eb74afb", + "port": "out" + }, + "target": { + "block": "8395e674-0340-4dc6-9e01-751771607b4d", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "7b7d1633-22fb-421b-9da7-6bb5c17f4c2a" + }, + "target": { + "block": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "port": "61d11f03-6fbc-4467-a947-d546fa6f6429" + } + }, + { + "source": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "7b7d1633-22fb-421b-9da7-6bb5c17f4c2a" + }, + "target": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "ec65c3cd-0951-4d74-bbfc-c37f87a78e66" + } + }, + { + "source": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "7b7d1633-22fb-421b-9da7-6bb5c17f4c2a" + }, + "target": { + "block": "44073844-b550-4911-affe-bdadca704a6f", + "port": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7" + }, + "vertices": [ + { + "x": 1192, + "y": 720 + } + ] + }, + { + "source": { + "block": "7861c061-e90b-46bb-a639-6399f55f7f11", + "port": "out" + }, + "target": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "a265c13d-af7a-437b-97ae-424872381a93" + } + }, + { + "source": { + "block": "7861c061-e90b-46bb-a639-6399f55f7f11", + "port": "out" + }, + "target": { + "block": "44073844-b550-4911-affe-bdadca704a6f", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + }, + "vertices": [ + { + "x": 1392, + "y": 432 + } + ] + }, + { + "source": { + "block": "7861c061-e90b-46bb-a639-6399f55f7f11", + "port": "out" + }, + "target": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "2d69e282-542b-48cc-b0ec-dd419e06f97e" + }, + "vertices": [ + { + "x": 920, + "y": 728 + } + ] + }, + { + "source": { + "block": "7861c061-e90b-46bb-a639-6399f55f7f11", + "port": "out" + }, + "target": { + "block": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + }, + "vertices": [ + { + "x": 920, + "y": 912 + } + ] + }, + { + "source": { + "block": "7861c061-e90b-46bb-a639-6399f55f7f11", + "port": "out" + }, + "target": { + "block": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "port": "7697c4d1-f5f8-4a1d-88af-e367fe54e4b6" + }, + "vertices": [ + { + "x": 1392, + "y": 752 + } + ] + }, + { + "source": { + "block": "f3da83aa-48cf-4e21-8e2f-60e045183b92", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8849d683-2013-4619-9116-4adde501529e", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "7d4113a9-19b2-4434-8002-7f671360852b", + "port": "c554ffa6-9397-4270-96af-6d4ff9abfc16" + }, + "target": { + "block": "f3da83aa-48cf-4e21-8e2f-60e045183b92", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "4cded02d-9798-4ac7-85b2-88f9ca82752a", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "8849d683-2013-4619-9116-4adde501529e", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 1592, + "y": 960 + } + ] + }, + { + "source": { + "block": "8849d683-2013-4619-9116-4adde501529e", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "412c6872-b61e-4af8-8ece-577a8adb185c", + "port": "in" + } + }, + { + "source": { + "block": "896d8abc-4f3f-49d5-8bb3-d155a702b357", + "port": "8c6fda76-1ba0-4ef8-a53d-7bc8a9db4454" + }, + "target": { + "block": "b987c71e-d76f-43eb-8371-a2aa09d98d15", + "port": "in" + }, + "vertices": [ + { + "x": 1400, + "y": 936 + } + ] + }, + { + "source": { + "block": "cdf85427-0efe-4adb-b48d-dab3daccacce", + "port": "out" + }, + "target": { + "block": "1d8c0dd2-96bc-462a-8a33-05472851522d", + "port": "in" + } + }, + { + "source": { + "block": "cdf85427-0efe-4adb-b48d-dab3daccacce", + "port": "out" + }, + "target": { + "block": "44073844-b550-4911-affe-bdadca704a6f", + "port": "755eb5f6-70bb-4449-adb7-196ead041df1" + }, + "vertices": [ + { + "x": 744, + "y": 520 + } + ] + }, + { + "source": { + "block": "cdf85427-0efe-4adb-b48d-dab3daccacce", + "port": "out" + }, + "target": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "b916c09a-8848-4500-a1a0-0cc09e8f23c1" + }, + "vertices": [ + { + "x": 848, + "y": 688 + } + ] + }, + { + "source": { + "block": "73336d4a-efcf-49a6-860f-eca956b28ec6", + "port": "3d584b0a-29eb-47af-8c43-c0822282ef05" + }, + "target": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "02007399-7499-4b76-ad4f-91094344d055" + } + }, + { + "source": { + "block": "ed0e5489-e9b1-4b92-bcfb-22f3737d1c93", + "port": "out" + }, + "target": { + "block": "1e424507-5096-47f9-8437-b35c1c3b343d", + "port": "05394100-6c4a-4bd5-b479-739c16ede30c" + }, + "vertices": [ + { + "x": 792, + "y": 640 + } + ], + "size": 8 + } + ] + } + } + }, + "086d7dc26b794983217c4161c26b85dc62375d9d": { + "package": { + "name": "Heart-tics", + "version": "0.1", + "description": "Corazón finito de tics. Emitir num tics cuando se recibe un tic de start", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22227.691%22%20height=%22159.585%22%20viewBox=%220%200%2060.243259%2042.223434%22%3E%3Cpath%20d=%22M30.137%2040.073c-.726-1.25-1.853-2.474-3.987-4.332-1.156-1.006-1.859-1.565-5.863-4.658-3.138-2.425-4.704-3.77-6.519-5.602-1.813-1.83-2.879-3.289-3.793-5.19a15.321%2015.321%200%200%201-1.236-3.6c-.316-1.545-.36-2.068-.358-4.342.002-2.984.1-3.48%201.08-5.47.729-1.479%201.282-2.257%202.433-3.427%201.119-1.135%201.845-1.65%203.415-2.427C17.053.162%2018.315-.065%2020.914.02c2.02.065%202.759.266%204.36%201.187%202.52%201.45%204.476%203.778%205.017%205.973.088.358.18.652.203.652.023%200%20.227-.42.453-.933.77-1.743%201.485-2.808%202.62-3.902%203.477-3.353%208.96-3.959%2013.392-1.482C48.769%202.527%2050.242%204%2051.383%205.94c.898%201.527%201.358%203.555%201.436%206.34.114%204.035-.624%206.832-2.589%209.811-.78%201.183-1.356%201.9-2.438%203.029-1.744%201.822-3.318%203.162-7.033%205.987-2.344%201.783-3.733%202.93-5.744%204.742-1.612%201.451-4.109%203.979-4.35%204.401-.104.185-.2.336-.21.336-.012%200-.154-.23-.318-.512z%22%20fill=%22red%22/%3E%3Ctext%20y=%2263.446%22%20x=%2264.25%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2215.216%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22matrix(.99853%200%200%201.00147%20-42.66%20-45.386)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.282%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2263.446%22%20x=%2264.25%22%20font-weight=%22700%22%20font-size=%228.695%22%3Etics%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22matrix(.79321%200%200%20.79321%20-31.345%20-28.118)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(.79321%200%200%20.79321%20-68.009%20-28.118)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Ctext%20y=%2258.351%22%20x=%2280.998%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2222.577%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22matrix(.99853%200%200%201.00147%20-42.66%20-45.386)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.419%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2258.351%22%20x=%2280.998%22%20font-weight=%22700%22%20font-size=%2212.901%22%3E#%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "2d69e282-542b-48cc-b0ec-dd419e06f97e", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 520, + "y": 456 + } + }, + { + "id": "bcfe1e9b-4bb8-43c2-bbea-d82aeb7dce9d", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 520, + "y": 536 + } + }, + { + "id": "7b7d1633-22fb-421b-9da7-6bb5c17f4c2a", + "type": "basic.output", + "data": { + "name": "out" + }, + "position": { + "x": 1352, + "y": 560 + } + }, + { + "id": "c554ffa6-9397-4270-96af-6d4ff9abfc16", + "type": "basic.output", + "data": { + "name": "busy" + }, + "position": { + "x": 872, + "y": 672 + } + }, + { + "id": "7cfc535a-b3a4-4bf7-8f94-8759e822e67e", + "type": "basic.output", + "data": { + "name": "end" + }, + "position": { + "x": 1352, + "y": 752 + } + }, + { + "id": "96ad1612-7936-4672-b660-9285d183f749", + "type": "basic.constant", + "data": { + "name": "Tics", + "value": "15", + "local": false + }, + "position": { + "x": 952, + "y": 376 + } + }, + { + "id": "1caece2e-e3d8-4102-af87-572c05b24e16", + "type": "basic.constant", + "data": { + "name": "Num", + "value": "24", + "local": false + }, + "position": { + "x": 1152, + "y": 376 + } + }, + { + "id": "f6388518-4c42-4573-8f49-63d43d444669", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 720, + "y": 520 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "eab6a459-411c-406b-9185-872a44f305e5", + "type": "d585a59868290d4af219e92f887128dc4b7c8a51", + "position": { + "x": 952, + "y": 520 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "type": "d0fde25a657f5921d86a889c7f69e379c4d8e91e", + "position": { + "x": 1152, + "y": 472 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "cd007087-7c8b-49b1-a5ba-b02fdd440737", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 944, + "y": 600 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "eab6a459-411c-406b-9185-872a44f305e5", + "port": "2e992b62-97db-4d64-9620-3fe3310a9a5f" + }, + "vertices": [] + }, + { + "source": { + "block": "96ad1612-7936-4672-b660-9285d183f749", + "port": "constant-out" + }, + "target": { + "block": "eab6a459-411c-406b-9185-872a44f305e5", + "port": "136e8d6d-892a-4f14-8d6d-0c5bc6c3e844" + }, + "vertices": [] + }, + { + "source": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 680, + "y": 760 + } + ] + }, + { + "source": { + "block": "eab6a459-411c-406b-9185-872a44f305e5", + "port": "c138a610-b61f-4e7c-bb8a-c4f3b0b9f95c" + }, + "target": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + }, + "vertices": [] + }, + { + "source": { + "block": "cd007087-7c8b-49b1-a5ba-b02fdd440737", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + }, + "vertices": [ + { + "x": 1080, + "y": 608 + } + ] + }, + { + "source": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "cd007087-7c8b-49b1-a5ba-b02fdd440737", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [ + { + "x": 920, + "y": 592 + } + ] + }, + { + "source": { + "block": "1caece2e-e3d8-4102-af87-572c05b24e16", + "port": "constant-out" + }, + "target": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c" + }, + "vertices": [] + }, + { + "source": { + "block": "bcfe1e9b-4bb8-43c2-bbea-d82aeb7dce9d", + "port": "out" + }, + "target": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "2d69e282-542b-48cc-b0ec-dd419e06f97e", + "port": "out" + }, + "target": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "2d69e282-542b-48cc-b0ec-dd419e06f97e", + "port": "out" + }, + "target": { + "block": "eab6a459-411c-406b-9185-872a44f305e5", + "port": "503869f1-ddfd-4d13-93ad-5f90281ba88c" + } + }, + { + "source": { + "block": "2d69e282-542b-48cc-b0ec-dd419e06f97e", + "port": "out" + }, + "target": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + } + }, + { + "source": { + "block": "eab6a459-411c-406b-9185-872a44f305e5", + "port": "c138a610-b61f-4e7c-bb8a-c4f3b0b9f95c" + }, + "target": { + "block": "7b7d1633-22fb-421b-9da7-6bb5c17f4c2a", + "port": "in" + }, + "vertices": [ + { + "x": 1120, + "y": 576 + } + ] + }, + { + "source": { + "block": "a05b1ecb-b766-482a-9f49-bd698cec989f", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "7cfc535a-b3a4-4bf7-8f94-8759e822e67e", + "port": "in" + }, + "vertices": [ + { + "x": 1264, + "y": 720 + } + ] + }, + { + "source": { + "block": "f6388518-4c42-4573-8f49-63d43d444669", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "c554ffa6-9397-4270-96af-6d4ff9abfc16", + "port": "in" + } + } + ] + } + } + }, + "d585a59868290d4af219e92f887128dc4b7c8a51": { + "package": { + "name": "Corazon-tics", + "version": "0.1", + "description": "Corazón de bombeo de tics, cuyo periodo está especificado en tics también", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22197.514%22%20height=%22161.086%22%20viewBox=%220%200%2052.259014%2042.62059%22%3E%3Cpath%20d=%22M22.153%2040.47c-.727-1.25-1.853-2.474-3.987-4.332-1.156-1.006-1.86-1.565-5.863-4.658-3.138-2.425-4.704-3.77-6.519-5.601-1.813-1.831-2.88-3.29-3.794-5.191a15.321%2015.321%200%200%201-1.235-3.6c-.317-1.545-.36-2.067-.358-4.342.002-2.983.1-3.48%201.08-5.47.728-1.479%201.281-2.257%202.433-3.427C5.028%202.714%205.754%202.2%207.325%201.422%209.069.56%2010.33.333%2012.93.417c2.02.065%202.759.266%204.36%201.188%202.52%201.45%204.475%203.777%205.017%205.972.088.358.18.652.203.652.023%200%20.227-.42.453-.932.77-1.744%201.484-2.808%202.62-3.903C29.06.041%2034.542-.565%2038.974%201.912c1.81%201.012%203.283%202.485%204.425%204.424.898%201.527%201.358%203.555%201.436%206.34.113%204.035-.625%206.832-2.59%209.812-.779%201.182-1.355%201.899-2.437%203.028-1.745%201.823-3.318%203.162-7.033%205.988-2.344%201.782-3.734%202.929-5.745%204.74-1.611%201.452-4.108%203.98-4.349%204.402-.105.185-.2.336-.21.336-.012%200-.154-.23-.318-.512z%22%20fill=%22red%22/%3E%3Ctext%20y=%2263.446%22%20x=%2264.25%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%2215.216%22%20letter-spacing=%220%22%20word-spacing=%220%22%20transform=%22matrix(.99853%200%200%201.00147%20-50.645%20-44.99)%22%20font-family=%22sans-serif%22%20fill=%22#00f%22%20stroke-width=%22.282%22%3E%3Ctspan%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2263.446%22%20x=%2264.25%22%20font-weight=%22700%22%20font-size=%228.695%22%3Etics%3C/tspan%3E%3C/text%3E%3Cg%20transform=%22matrix(.79321%200%200%20.79321%20-39.33%20-27.72)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "503869f1-ddfd-4d13-93ad-5f90281ba88c", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 112, + "y": 72 + } + }, + { + "id": "c138a610-b61f-4e7c-bb8a-c4f3b0b9f95c", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 912, + "y": 192 + } + }, + { + "id": "2e992b62-97db-4d64-9620-3fe3310a9a5f", + "type": "basic.input", + "data": { + "name": "", + "clock": false + }, + "position": { + "x": 112, + "y": 304 + } + }, + { + "id": "136e8d6d-892a-4f14-8d6d-0c5bc6c3e844", + "type": "basic.constant", + "data": { + "name": "", + "value": "15", + "local": false + }, + "position": { + "x": 520, + "y": -128 + } + }, + { + "id": "a70d9684-3b18-4f3d-90cd-28faa893b6b2", + "type": "basic.code", + "data": { + "code": "\n\n//-- Los TICs son directamente el módulo del contador\nlocalparam M = TICS;\n\n//-- Calcular el numero de bits para almacenar M\nlocalparam N = $clog2(M);\n\n//-- Cable de reset para el contador\nwire reset;\n\n//-- Registro del divisor\nreg [N-1:0] divcounter;\n\n\n//-- Contador con reset\nalways @(posedge clk)\n if (reset)\n divcounter <= 0;\n else\n divcounter <= divcounter + 1;\n\nwire ov;\nassign ov = (divcounter == M-1);\n\n//-- Comparador que resetea el contador cuando se alcanza el tope\nassign reset = ov | (ena == 0);\n\n//-- La salida es la señal de overflow\nassign o = ov;\n\n\n\n", + "params": [ + { + "name": "TICS" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "ena" + } + ], + "out": [ + { + "name": "o" + } + ] + } + }, + "position": { + "x": 296, + "y": -8 + }, + "size": { + "width": 544, + "height": 456 + } + } + ], + "wires": [ + { + "source": { + "block": "a70d9684-3b18-4f3d-90cd-28faa893b6b2", + "port": "o" + }, + "target": { + "block": "c138a610-b61f-4e7c-bb8a-c4f3b0b9f95c", + "port": "in" + } + }, + { + "source": { + "block": "503869f1-ddfd-4d13-93ad-5f90281ba88c", + "port": "out" + }, + "target": { + "block": "a70d9684-3b18-4f3d-90cd-28faa893b6b2", + "port": "clk" + } + }, + { + "source": { + "block": "136e8d6d-892a-4f14-8d6d-0c5bc6c3e844", + "port": "constant-out" + }, + "target": { + "block": "a70d9684-3b18-4f3d-90cd-28faa893b6b2", + "port": "TICS" + } + }, + { + "source": { + "block": "2e992b62-97db-4d64-9620-3fe3310a9a5f", + "port": "out" + }, + "target": { + "block": "a70d9684-3b18-4f3d-90cd-28faa893b6b2", + "port": "ena" + } + } + ] + } + } + }, + "d0fde25a657f5921d86a889c7f69e379c4d8e91e": { + "package": { + "name": "Contador-5bits-up-rst", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 5 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 264, + "y": 176 + } + }, + { + "id": "6c029178-38c2-43a1-bd73-4b5a6b932090", + "type": "basic.output", + "data": { + "name": "", + "range": "[4:0]", + "size": 5 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 264, + "y": 280 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 264, + "y": 376 + } + }, + { + "id": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "type": "basic.constant", + "data": { + "name": "", + "value": "32", + "local": false + }, + "position": { + "x": 528, + "y": 48 + } + }, + { + "id": "b35ae5de-a490-4f7b-9200-ac52cd3f333e", + "type": "basic.info", + "data": { + "info": "**Parámetro**: Módulo del contador", + "readonly": true + }, + "position": { + "x": 472, + "y": 32 + }, + "size": { + "width": 280, + "height": 56 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 5; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 2'b00;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == M);\n ", + "params": [ + { + "name": "M" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[4:0]", + "size": 5 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + } + ], + "wires": [ + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "eb9f9c33-e717-43f0-98eb-dbd9c278fa8c", + "port": "constant-out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "M" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "6c029178-38c2-43a1-bd73-4b5a6b932090", + "port": "in" + }, + "size": 5 + } + ] + } + } + }, + "45f630ea95c6847db8df0598c312ef9acfa981a3": { + "package": { + "name": "Biestable-D", + "version": "0.1", + "description": "Biestable de datos (Tipo D). Cuando se recibe un tic por load se captura el dato", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22216.379%22%20height=%22279.911%22%20viewBox=%220%200%2057.25032%2074.059853%22%3E%3Cg%20stroke=%22#000%22%20stroke-width=%221.442%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M41.506%2040.152l13.608%2016.672-6.918-20.534%22%20fill=%22#ccc%22%20stroke-width=%221.0924880399999999%22/%3E%3Cpath%20d=%22M34.122%2032.088L24.89%2012.475l-6.45%203.724-2.07-3.583L37.276.546l2.07%203.584-6.093%203.517%2012.03%2018.223s5.4-2.025%208.536.74c3.136%202.766%202.52%204.92%202.887%204.772L33.017%2045.02s-2.849-3.695-2.16-6.795c.687-3.1%203.265-6.137%203.265-6.137z%22%20fill=%22red%22%20stroke-width=%221.0924880399999999%22/%3E%3C/g%3E%3Cg%20transform=%22translate(-93.518%20-22.665)%20scale(1.09073)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%22100.602%22%20cy=%2273.815%22%20r=%2214.559%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "3943e194-090b-4553-9df3-88bc4b17abc2", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 176, + "y": 64 + } + }, + { + "id": "755eb5f6-70bb-4449-adb7-196ead041df1", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 168, + "y": 144 + } + }, + { + "id": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 680, + "y": 200 + } + }, + { + "id": "bf2f0c53-2d04-4cba-aa70-2df85502d24f", + "type": "basic.input", + "data": { + "name": "d", + "clock": false + }, + "position": { + "x": 168, + "y": 216 + } + }, + { + "id": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", + "type": "basic.input", + "data": { + "name": "load", + "clock": false + }, + "position": { + "x": 168, + "y": 296 + } + }, + { + "id": "65194b18-5d2a-41b2-bd86-01be99978ad6", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 456, + "y": 64 + } + }, + { + "id": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "type": "basic.code", + "data": { + "code": "reg q = INI;\nalways @(posedge clk)\n if (rst)\n q <= INI;\n else if (load)\n q <= d;", + "params": [ + { + "name": "INI" + } + ], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "d" + }, + { + "name": "load" + } + ], + "out": [ + { + "name": "q" + } + ] + } + }, + "position": { + "x": 384, + "y": 168 + }, + "size": { + "width": 232, + "height": 128 + } + } + ], + "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" + } + }, + { + "source": { + "block": "4e3677f4-ae08-4a6f-80a7-ec71cd0c24b7", + "port": "out" + }, + "target": { + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "load" + } + }, + { + "source": { + "block": "755eb5f6-70bb-4449-adb7-196ead041df1", + "port": "out" + }, + "target": { + "block": "bdc170f0-4468-4137-bd79-4624c9cadf2b", + "port": "rst" + }, + "vertices": [ + { + "x": 304, + "y": 192 + } + ] + } + ] + } + } + }, + "5483349a60d7c0f7f4146228196d6f4c4ad7604d": { + "package": { + "name": "machine-loop", + "version": "0.1", + "description": "Máquina para hacer repeticiones", + "author": "Juan González-Gómez (Obijuan)", + "image": "" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "162f5f2d-17dc-4d0e-b6f9-6ebdf74392f0", + "type": "basic.output", + "data": { + "name": "exec" + }, + "position": { + "x": 1352, + "y": 224 + } + }, + { + "id": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 48, + "y": 280 + } + }, + { + "id": "8a0d51b6-8ab0-4ca6-8d57-7fa7e713c738", + "type": "basic.input", + "data": { + "name": "mod", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 48, + "y": 400 + } + }, + { + "id": "f966672f-ae05-4499-8a8d-3c9394a1119e", + "type": "basic.input", + "data": { + "name": "next", + "clock": false + }, + "position": { + "x": 48, + "y": 464 + } + }, + { + "id": "453471d0-fe0d-4cbf-a4df-411b6035dd44", + "type": "basic.output", + "data": { + "name": "busy" + }, + "position": { + "x": 1224, + "y": 528 + } + }, + { + "id": "0319df1a-5bd5-4abc-8681-6f3a8fa4e108", + "type": "basic.input", + "data": { + "name": "start", + "clock": false + }, + "position": { + "x": 40, + "y": 608 + } + }, + { + "id": "088c7d8e-99b1-4f2e-a6c0-a672e5239844", + "type": "basic.output", + "data": { + "name": "", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 1208, + "y": 720 + } + }, + { + "id": "5dc54e8b-49c1-4ddb-94ab-843b247b73c4", + "type": "basic.output", + "data": { + "name": "done" + }, + "position": { + "x": 1208, + "y": 792 + } + }, + { + "id": "576020ce-bd52-4c01-8d5c-28605e677436", + "type": "b959c256104d1064a5ef7b38632ffb6eed3b396f", + "position": { + "x": 304, + "y": 592 + }, + "size": { + "width": 96, + "height": 96 + } + }, + { + "id": "728a5e86-7762-44da-8f55-f0f6c949abf2", + "type": "8e2728307baccbf26c01cdb87bcfba8ca64a435c", + "position": { + "x": 496, + "y": 328 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "18d5bf1a-171b-4474-9505-b9be4292c1ec", + "type": "81613874c6152f06c06ed7014bf4235900cfcc30", + "position": { + "x": 1064, + "y": 416 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "874a5fef-de51-4d40-87b3-deae7b2fc4c9", + "type": "b2090f68ef94fd3c5c0eaea93eb6ba7e80aff0b6", + "position": { + "x": 1192, + "y": 432 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "fe0d99f8-7b41-47be-8e33-5a555f60e0bf", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 912, + "y": 432 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8df2b5f9-3546-4dd1-805a-721433f7e6aa", + "type": "1c7dae7144d376f2ee4896fcc502a29110e2db37", + "position": { + "x": 688, + "y": 448 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "27312c73-6414-4f2e-88e3-e4fd9eb4d2ca", + "type": "35f267d0df6ffcb7fc33753bc9df9cf083642cca", + "position": { + "x": 464, + "y": 792 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "77c53a21-0c10-451a-8e79-a6d55c9bdf09", + "type": "7eacdff4ce248b009935725889c8ae3339817d76", + "position": { + "x": 912, + "y": 672 + }, + "size": { + "width": 96, + "height": 64 + } + }, + { + "id": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "type": "b82ff1ae5d4441d6da2bec090398f0eb86405bf4", + "position": { + "x": 696, + "y": 776 + }, + "size": { + "width": 96, + "height": 128 + } + } + ], + "wires": [ + { + "source": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "728a5e86-7762-44da-8f55-f0f6c949abf2", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [] + }, + { + "source": { + "block": "728a5e86-7762-44da-8f55-f0f6c949abf2", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "18d5bf1a-171b-4474-9505-b9be4292c1ec", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "874a5fef-de51-4d40-87b3-deae7b2fc4c9", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "162f5f2d-17dc-4d0e-b6f9-6ebdf74392f0", + "port": "in" + }, + "vertices": [] + }, + { + "source": { + "block": "18d5bf1a-171b-4474-9505-b9be4292c1ec", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "874a5fef-de51-4d40-87b3-deae7b2fc4c9", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + }, + "vertices": [] + }, + { + "source": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "874a5fef-de51-4d40-87b3-deae7b2fc4c9", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "fe0d99f8-7b41-47be-8e33-5a555f60e0bf", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "18d5bf1a-171b-4474-9505-b9be4292c1ec", + "port": "97b51945-d716-4b6c-9db9-970d08541249" + }, + "vertices": [] + }, + { + "source": { + "block": "8df2b5f9-3546-4dd1-805a-721433f7e6aa", + "port": "aa84d31e-cd92-44c7-bb38-c7a4cd903a78" + }, + "target": { + "block": "fe0d99f8-7b41-47be-8e33-5a555f60e0bf", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + }, + "vertices": [] + }, + { + "source": { + "block": "0319df1a-5bd5-4abc-8681-6f3a8fa4e108", + "port": "out" + }, + "target": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "3ae2d46d-7981-497a-899f-b60bfae0f43e" + } + }, + { + "source": { + "block": "f966672f-ae05-4499-8a8d-3c9394a1119e", + "port": "out" + }, + "target": { + "block": "8df2b5f9-3546-4dd1-805a-721433f7e6aa", + "port": "bf2f0c53-2d04-4cba-aa70-2df85502d24f" + } + }, + { + "source": { + "block": "f966672f-ae05-4499-8a8d-3c9394a1119e", + "port": "out" + }, + "target": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "26aba23f-8567-4e9b-bd45-c26724030f33" + }, + "vertices": [ + { + "x": 592, + "y": 712 + } + ] + }, + { + "source": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "cc17ff4d-1c27-4dc3-a14c-da730d54750e" + }, + "target": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "86eb8c81-17fc-4371-bd21-51f429191f3c" + }, + "vertices": [ + { + "x": 824, + "y": 920 + } + ] + }, + { + "source": { + "block": "27312c73-6414-4f2e-88e3-e4fd9eb4d2ca", + "port": "664caf9e-5f40-4df4-800a-b626af702e62" + }, + "target": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "743b5299-2d89-4783-b7c9-12a5b36df406" + } + }, + { + "source": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "27312c73-6414-4f2e-88e3-e4fd9eb4d2ca", + "port": "18c2ebc7-5152-439c-9b3f-851c59bac834" + } + }, + { + "source": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "77c53a21-0c10-451a-8e79-a6d55c9bdf09", + "port": "b6426b43-dcda-418d-b6d3-4764b5bc0b25" + }, + "vertices": [ + { + "x": 824, + "y": 664 + } + ] + }, + { + "source": { + "block": "77c53a21-0c10-451a-8e79-a6d55c9bdf09", + "port": "1d2e403f-0fa6-41fd-83a9-4f309eadd855" + }, + "target": { + "block": "5dc54e8b-49c1-4ddb-94ab-843b247b73c4", + "port": "in" + } + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "728a5e86-7762-44da-8f55-f0f6c949abf2", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "9f09a4af-8f7a-45c3-af7b-293a244e76d9" + } + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "8df2b5f9-3546-4dd1-805a-721433f7e6aa", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3" + }, + "vertices": [ + { + "x": 640, + "y": 664 + } + ] + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "fe0d99f8-7b41-47be-8e33-5a555f60e0bf", + "port": "3943e194-090b-4553-9df3-88bc4b17abc2" + } + }, + { + "source": { + "block": "9c68c5ce-2425-45f3-9f05-ee4581fa974d", + "port": "out" + }, + "target": { + "block": "77c53a21-0c10-451a-8e79-a6d55c9bdf09", + "port": "4196184b-4a60-493b-bcc6-c95958483683" + } + }, + { + "source": { + "block": "576020ce-bd52-4c01-8d5c-28605e677436", + "port": "1cb167a4-9e2a-416b-803e-da7b6151eaa5" + }, + "target": { + "block": "453471d0-fe0d-4cbf-a4df-411b6035dd44", + "port": "in" + } + }, + { + "source": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "7a982450-c842-4aa2-8e77-43cc628266e0" + }, + "target": { + "block": "088c7d8e-99b1-4f2e-a6c0-a672e5239844", + "port": "in" + }, + "vertices": [ + { + "x": 1048, + "y": 760 + } + ], + "size": 2 + }, + { + "source": { + "block": "8a0d51b6-8ab0-4ca6-8d57-7fa7e713c738", + "port": "out" + }, + "target": { + "block": "8934d1b4-e751-4360-8a2c-fcc90c045fec", + "port": "4cafbdca-bdb2-421a-a742-f5de7a452c86" + }, + "vertices": [ + { + "x": 616, + "y": 616 + } + ], + "size": 2 + } + ] + } + } + }, + "b82ff1ae5d4441d6da2bec090398f0eb86405bf4": { + "package": { + "name": "Contador-2bits-up-rst-mod-M", + "version": "0.1", + "description": "Contador módulo M, ascendente, de 2 bits, con reset ", + "author": "Juan González-Gómez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22327.118%22%20height=%22304.435%22%20viewBox=%220%200%2086.549973%2080.548402%22%3E%3Cdefs%3E%3Cmarker%20id=%22a%22%20orient=%22auto%22%20overflow=%22visible%22%3E%3Cpath%20d=%22M2.308%200l-3.46%202v-4z%22%20fill=%22#00f%22%20fill-rule=%22evenodd%22%20stroke=%22#00f%22%20stroke-width=%22.5332%22/%3E%3C/marker%3E%3C/defs%3E%3Cg%20transform=%22translate(-59.162%20-4.54)%22%3E%3Cpath%20d=%22M138.803%2048.49V16.91%22%20fill=%22#00f%22%20stroke=%22#00f%22%20stroke-width=%222.806%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20marker-end=%22url(#a)%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2299.747%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%22108.575%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%22108.575%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M100.868%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20rx=%222.807%22%20ry=%222.807%22%20y=%225.289%22%20x=%2266.333%22%20height=%2247.849%22%20width=%2229.538%22%20fill=%22#666%22%20stroke=%22#000%22%20stroke-width=%221.497%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20transform=%22scale(.94516%201.05802)%22%20y=%2240.921%22%20x=%2273.223%22%20style=%22line-height:0%25%22%20font-weight=%22400%22%20font-size=%228.982%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%221.497%22%3E%3Ctspan%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20y=%2240.921%22%20x=%2273.223%22%20font-weight=%22700%22%20font-size=%2235.656%22%3E0%3C/tspan%3E%3C/text%3E%3Cpath%20d=%22M67.454%2030.283h27.764%22%20fill=%22#fff%22%20stroke=%22#000%22%20stroke-width=%222.245%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%20-27.38%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3Cg%20transform=%22matrix(1.00937%200%200%201.00937%2028.939%20-4.42)%22%20stroke=%22green%22%20stroke-linecap=%22round%22%3E%3Ccircle%20r=%2214.559%22%20cy=%2273.815%22%20cx=%22100.602%22%20fill=%22#ececec%22%20stroke-width=%22.608%22%20stroke-linejoin=%22round%22/%3E%3Cpath%20d=%22M106.978%2082.142h-3.353V63.316H97.54v18.678h-3.652%22%20fill=%22none%22%20stroke-width=%221.521%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "type": "basic.input", + "data": { + "name": "", + "clock": true + }, + "position": { + "x": 240, + "y": 168 + } + }, + { + "id": "7a982450-c842-4aa2-8e77-43cc628266e0", + "type": "basic.output", + "data": { + "name": "", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 800, + "y": 200 + } + }, + { + "id": "743b5299-2d89-4783-b7c9-12a5b36df406", + "type": "basic.input", + "data": { + "name": "rst", + "clock": false + }, + "position": { + "x": 240, + "y": 240 + } + }, + { + "id": "4cafbdca-bdb2-421a-a742-f5de7a452c86", + "type": "basic.input", + "data": { + "name": "mod", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": 240, + "y": 312 + } + }, + { + "id": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "type": "basic.output", + "data": { + "name": "ov" + }, + "position": { + "x": 800, + "y": 352 + } + }, + { + "id": "26aba23f-8567-4e9b-bd45-c26724030f33", + "type": "basic.input", + "data": { + "name": "cnt", + "clock": false + }, + "position": { + "x": 240, + "y": 384 + } + }, + { + "id": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "type": "basic.code", + "data": { + "code": "//-- Numero de bits del contador\nlocalparam N = 2; \n\n//-- En contadores de N bits:\n//-- M = 2 ** N\n\n//-- Internamente usamos un bit mas\n//-- (N+1) bits\nreg [N:0] qi = 0;\n\nalways @(posedge clk)\n if (rst | ov)\n qi <= 2'b00;\n else\n if (cnt)\n qi <= qi + 1;\n \nassign q = qi;\n\n//-- Comprobar overflow\nassign ov = (qi == mod);\n ", + "params": [], + "ports": { + "in": [ + { + "name": "clk" + }, + { + "name": "rst" + }, + { + "name": "mod", + "range": "[1:0]", + "size": 2 + }, + { + "name": "cnt" + } + ], + "out": [ + { + "name": "q", + "range": "[1:0]", + "size": 2 + }, + { + "name": "ov" + } + ] + } + }, + "position": { + "x": 408, + "y": 160 + }, + "size": { + "width": 336, + "height": 296 + } + } + ], + "wires": [ + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "q" + }, + "target": { + "block": "7a982450-c842-4aa2-8e77-43cc628266e0", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "743b5299-2d89-4783-b7c9-12a5b36df406", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "rst" + } + }, + { + "source": { + "block": "26aba23f-8567-4e9b-bd45-c26724030f33", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "cnt" + } + }, + { + "source": { + "block": "c90da543-4b9c-4f4c-a5fa-7e1166ee1dd3", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "clk" + } + }, + { + "source": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "ov" + }, + "target": { + "block": "cc17ff4d-1c27-4dc3-a14c-da730d54750e", + "port": "in" + } + }, + { + "source": { + "block": "4cafbdca-bdb2-421a-a742-f5de7a452c86", + "port": "out" + }, + "target": { + "block": "e5d5eb54-41fb-40de-908c-b1fe9b2ec085", + "port": "mod" + }, + "size": 2 + } + ] + } + } + }, + "56cc183f8c704107b94d882715f6e43592dcaf61": { + "package": { + "name": "Mux 4 a 1 de 8 bits", + "version": "0.0.1", + "description": "Multiplexor de 4 a 1 de 8 bits", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2246.347%22%20height=%22182.066%22%20viewBox=%220%200%2043.450545%20170.68778%22%3E%3Cpath%20d=%22M42.044%2021.324c0-7.134-3.893-13.724-10.206-17.275a20.674%2020.674%200%200%200-20.365.08C5.189%207.728%201.349%2014.347%201.407%2021.481v127.723c-.058%207.135%203.782%2013.755%2010.066%2017.355a20.674%2020.674%200%200%200%2020.365.079c6.313-3.551%2010.206-10.14%2010.206-17.275z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%2270.768%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%2270.768%22%3E2%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.018%22%20y=%2227.719%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.018%22%20y=%2227.719%22%3E3%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22113.534%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22113.534%22%3E1%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%2216.068%22%20y=%22156.655%22%20font-weight=%22400%22%20font-size=%2218.75%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%2216.068%22%20y=%22156.655%22%3E0%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "fbc03b1e-bcb0-42b2-9b09-33968aa35d0f", + "type": "basic.input", + "data": { + "name": "i3", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -712, + "y": -200 + } + }, + { + "id": "350946d5-2f29-4190-bcf2-e14e17224bb4", + "type": "basic.input", + "data": { + "name": "i2", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -712, + "y": -128 + } + }, + { + "id": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -712, + "y": -48 + } + }, + { + "id": "820e19c9-d979-418f-b2e5-d806fa3caca3", + "type": "basic.output", + "data": { + "name": "o", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 0, + "y": -8 + } + }, + { + "id": "1f4c1c55-ee75-41d6-8590-b4e650d636cc", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -712, + "y": 16 + } + }, + { + "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "type": "basic.input", + "data": { + "name": "sel1", + "clock": false + }, + "position": { + "x": -704, + "y": 112 + } + }, + { + "id": "2cd7e8ed-1ed2-4a5c-a72a-337d703c9712", + "type": "basic.input", + "data": { + "name": "sel0", + "clock": false + }, + "position": { + "x": -704, + "y": 176 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 4 a 1, \n//-- de 8 bits\n\nwire [1:0] sel = {s1, s0};\n\nassign o = (sel == 2'b00) ? i0 :\n (sel == 2'b01) ? i1 :\n (sel == 2'b10) ? i2 : i3;\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i3", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i2", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + }, + { + "name": "s1" + }, + { + "name": "s0" + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 352, + "height": 256 + } + } + ], + "wires": [ + { + "source": { + "block": "2cd7e8ed-1ed2-4a5c-a72a-337d703c9712", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "s0" + } + }, + { + "source": { + "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "s1" + }, + "vertices": [ + { + "x": -520, + "y": 104 + } + ] + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "820e19c9-d979-418f-b2e5-d806fa3caca3", + "port": "in" + }, + "size": 8 + }, + { + "source": { + "block": "1f4c1c55-ee75-41d6-8590-b4e650d636cc", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 8 + }, + { + "source": { + "block": "bc9544e0-2199-4d6a-a6b9-6550b7dd7633", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "vertices": [ + { + "x": -576, + "y": 0 + } + ], + "size": 8 + }, + { + "source": { + "block": "350946d5-2f29-4190-bcf2-e14e17224bb4", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i2" + }, + "vertices": [ + { + "x": -576, + "y": -72 + } + ], + "size": 8 + }, + { + "source": { + "block": "fbc03b1e-bcb0-42b2-9b09-33968aa35d0f", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i3" + }, + "vertices": [ + { + "x": -544, + "y": -128 + } + ], + "size": 8 + } + ] + } + } + }, + "eebee1482748e838ffef3618817cc1fa911e4952": { + "package": { + "name": "Mux 2 a 1 de 2 bits", + "version": "0.0.1", + "description": "Multiplexor de 2 a 1 de 2 bits", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "d220e4a2-bec7-4852-84bd-2baf3df5ccdb", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -704, + "y": -88 + } + }, + { + "id": "ca28abaf-359d-4f8f-a397-91d76dc936ec", + "type": "basic.output", + "data": { + "name": "o", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": -48, + "y": 0 + } + }, + { + "id": "8197e6c5-cf9d-42d6-a9e9-3ecccafa27c2", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -704, + "y": 0 + } + }, + { + "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": -704, + "y": 88 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 2 a 1, \n//-- de 2 bits\n\nreg [1:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[1:0]", + "size": 2 + }, + { + "name": "i0", + "range": "[1:0]", + "size": 2 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 304, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "sel" + } + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "ca28abaf-359d-4f8f-a397-91d76dc936ec", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "d220e4a2-bec7-4852-84bd-2baf3df5ccdb", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "size": 2 + }, + { + "source": { + "block": "8197e6c5-cf9d-42d6-a9e9-3ecccafa27c2", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 2 + } + ] + } + } + }, + "945d5c43e22d4f1d3f8e379417d47f170e4adcf6": { + "package": { + "name": "Valor_2_2bits", + "version": "0.0.1", + "description": "Valor constante 2 para bus de 2 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22138.81%22%20height=%22305.779%22%20viewBox=%220%200%20130.13472%20286.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-312.233%20-436.037)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3E2%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22341.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-312.233%20-436.037)%22%3E%3Ctspan%20x=%22341.722%22%20y=%22721.624%22%3E10%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "type": "basic.output", + "data": { + "name": "k", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 928, + "y": 256 + } + }, + { + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "2", + "local": true + }, + "position": { + "x": 728, + "y": 144 + } + }, + { + "id": "ca6198dd-3208-49f0-8089-7a221c78637d", + "type": "1577535d38e0077281a8de7dc00933b07ec4f543", + "position": { + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "ca6198dd-3208-49f0-8089-7a221c78637d", + "port": "603ddbc9-28cf-4ecc-a0c6-a5a2ce3b0b26" + }, + "target": { + "block": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" + }, + "target": { + "block": "ca6198dd-3208-49f0-8089-7a221c78637d", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "1577535d38e0077281a8de7dc00933b07ec4f543": { + "package": { + "name": "Constante-2bits", + "version": "0.0.1", + "description": "Valor genérico constante, de 2 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": "603ddbc9-28cf-4ecc-a0c6-a5a2ce3b0b26", + "type": "basic.output", + "data": { + "name": "k", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 960, + "y": 248 + } + }, + { + "id": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 728, + "y": 112 + } + }, + { + "id": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "type": "basic.code", + "data": { + "code": "assign k = VALUE;", + "params": [ + { + "name": "VALUE" + } + ], + "ports": { + "in": [], + "out": [ + { + "name": "k", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": 672, + "y": 248 + }, + "size": { + "width": 208, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "k" + }, + "target": { + "block": "603ddbc9-28cf-4ecc-a0c6-a5a2ce3b0b26", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4", + "port": "constant-out" + }, + "target": { + "block": "7dbe7521-0f9f-43ee-ab0c-0439e2c20bc2", + "port": "VALUE" + } + } + ] + } + } + }, + "ceff2da3577d3e4da3ad522a234b993cfc71e21a": { + "package": { + "name": "Valor_3_2bits", + "version": "0.0.1", + "description": "Valor constante 3 para bus de 2 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22137.022%22%20height=%22304.627%22%20viewBox=%220%200%20128.45774%20285.58757%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-312.904%20-436.037)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3E3%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22341.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-312.904%20-436.037)%22%3E%3Ctspan%20x=%22341.722%22%20y=%22721.624%22%3E11%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "type": "basic.output", + "data": { + "name": "k", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 928, + "y": 256 + } + }, + { + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "3", + "local": true + }, + "position": { + "x": 728, + "y": 152 + } + }, + { + "id": "cfb4d1d2-7686-45c7-9af0-0293f03a9881", + "type": "1577535d38e0077281a8de7dc00933b07ec4f543", + "position": { + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "cfb4d1d2-7686-45c7-9af0-0293f03a9881", + "port": "603ddbc9-28cf-4ecc-a0c6-a5a2ce3b0b26" + }, + "target": { + "block": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" + }, + "target": { + "block": "cfb4d1d2-7686-45c7-9af0-0293f03a9881", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "a475867b1a8ac28299ed315b271747ba4ec10c54": { + "package": { + "name": "mi-tabla2-2", + "version": "0.1", + "description": "Circuito combinacional de 2 entradas y 2 salidas", + "author": "IceFactory 0.1", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22184.803%22%20height=%22197.944%22%20viewBox=%220%200%20173.25325%20185.57257%22%3E%3Cg%20transform=%22translate(-181.933%20-240.254)%22%20stroke=%22#000%22%3E%3Crect%20width=%22170.253%22%20height=%22182.573%22%20x=%22183.433%22%20y=%22241.754%22%20ry=%2219.969%22%20fill=%22#3e8db8%22%20stroke-width=%223%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22274.019%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22381.832%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25;text-align:center%22%20x=%22268.594%22%20y=%22368.911%22%20font-weight=%22400%22%20font-size=%2212.5%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%223%22%3E%3Ctspan%20x=%22268.594%22%20y=%22368.911%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2270%22%3EBIN%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "186c4116-7846-4c8e-98a0-7376675105f1", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -8, + "y": 424 + } + }, + { + "id": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "type": "basic.output", + "data": { + "name": "", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 632, + "y": 424 + } + }, + { + "id": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "type": "basic.memory", + "data": { + "name": "", + "list": "0\n0\n0\n0", + "local": false + }, + "position": { + "x": 328, + "y": 96 + }, + "size": { + "width": 96, + "height": 104 + } + }, + { + "id": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "type": "basic.code", + "data": { + "code": "\n//-- Bits del bus de entrada\nlocalparam N = 2;\n\n//-- Bits del bus de salida\nlocalparam M = 2;\n\n//-- Calcular tamaño de la tabla\n//-- (filas) segun los bits de entrada\nlocalparam TAM = 2 ** N;\n\n//-- Definición de la tabla\n//-- Tabla de TAM elementos de M bits\nreg [M-1:0] tabla[0:TAM-1];\n\n//-- Read the table\nassign q = tabla[i];\n\n//-- Init table from DATA parameters\ninitial begin\n if (DATA) $readmemb(DATA, tabla);\nend", + "params": [ + { + "name": "DATA" + } + ], + "ports": { + "in": [ + { + "name": "i", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "q", + "range": "[1:0]", + "size": 2 + } + ] + } + }, + "position": { + "x": 176, + "y": 264 + }, + "size": { + "width": 392, + "height": 384 + } + } + ], + "wires": [ + { + "source": { + "block": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "port": "memory-out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "DATA" + } + }, + { + "source": { + "block": "186c4116-7846-4c8e-98a0-7376675105f1", + "port": "out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "i" + }, + "size": 2 + }, + { + "source": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "q" + }, + "target": { + "block": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "port": "in" + }, + "size": 2 + } + ] + } + } + }, + "359a555a147b0afd9d84e4a720ec84b7cdfbc034": { + "package": { + "name": "Mux 2 a 1 de 8 bits", + "version": "0.0.1", + "description": "Multiplexor de 2 a 1 de 8 bits", + "author": "Juan Gonzalez-Gomez (obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2280.833%22%20height=%22158.56%22%20viewBox=%220%200%2075.781585%20148.65066%22%3E%3Cpath%20d=%22M74.375%2036.836c0-12.691-6.99-24.413-18.326-30.729-11.335-6.316-25.284-6.262-36.568.141C8.198%2012.652%201.304%2024.427%201.407%2037.118v74.415c-.103%2012.69%206.79%2024.466%2018.074%2030.87%2011.284%206.403%2025.233%206.457%2036.568.14%2011.336-6.316%2018.326-18.037%2018.326-30.728z%22%20fill=%22none%22%20stroke=%22#00f%22%20stroke-width=%222.813%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.448%22%20y=%2291.518%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.448%22%20y=%2291.518%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25%22%20x=%227.359%22%20y=%2214.582%22%20transform=%22matrix(1.00472%200%200%20.9953%2020.25%2033.697)%22%20font-weight=%22400%22%20font-size=%2233.509%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctspan%20x=%227.359%22%20y=%2214.582%22%3E1%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "9f5a1c91-1b93-4609-877c-816ed8fd0871", + "type": "basic.input", + "data": { + "name": "i1", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": -88 + } + }, + { + "id": "325fbba1-e929-4921-a644-95f918e6e4ee", + "type": "basic.input", + "data": { + "name": "i0", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -704, + "y": 0 + } + }, + { + "id": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "type": "basic.output", + "data": { + "name": "o", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": -48, + "y": 0 + } + }, + { + "id": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "type": "basic.input", + "data": { + "name": "sel", + "clock": false + }, + "position": { + "x": -704, + "y": 88 + } + }, + { + "id": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "type": "basic.code", + "data": { + "code": "//-- Multiplexor de 2 a 1, \n//-- de 8 bits\n\nreg [7:0] o;\n\nalways @(*) begin\n case(sel)\n 0: o = i0;\n 1: o = i1;\n default: o = i0;\n endcase\nend\n\n", + "params": [], + "ports": { + "in": [ + { + "name": "i1", + "range": "[7:0]", + "size": 8 + }, + { + "name": "i0", + "range": "[7:0]", + "size": 8 + }, + { + "name": "sel" + } + ], + "out": [ + { + "name": "o", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": -464, + "y": -104 + }, + "size": { + "width": 304, + "height": 272 + } + } + ], + "wires": [ + { + "source": { + "block": "1e637a79-4a6d-495c-bcac-9664bdbe4b94", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "sel" + } + }, + { + "source": { + "block": "325fbba1-e929-4921-a644-95f918e6e4ee", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i0" + }, + "size": 8 + }, + { + "source": { + "block": "9f5a1c91-1b93-4609-877c-816ed8fd0871", + "port": "out" + }, + "target": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "i1" + }, + "size": 8 + }, + { + "source": { + "block": "34e6d77b-15a8-4b7c-8c41-09e9b8d4d2be", + "port": "o" + }, + "target": { + "block": "bf25756a-65a4-4b09-915d-494010d6f4ff", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "d9a3cf565602d237c50136543d558affa15c7654": { + "package": { + "name": "Igual-1-op", + "version": "0.1", + "description": "Comparador de igualdad, de un operando de 3 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22312.756%22%20height=%22168.82%22%20viewBox=%220%200%20293.20803%20158.26888%22%3E%3Ctext%20style=%22line-height:125%25%22%20x=%22178.324%22%20y=%22457.047%22%20font-size=%2296.3%22%20transform=%22matrix(4.864%200%200%204.864%20-916.998%20-1997.335)%22%20fill=%22#00f%22%20stroke-width=%22.057%22%20font-weight=%22400%22%20letter-spacing=%220%22%20word-spacing=%220%22%20font-family=%22sans-serif%22%3E%3Ctspan%20x=%22178.324%22%20y=%22457.047%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20stroke-width=%22.206%22%3E=%3C/tspan%3E%3C/text%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "type": "basic.output", + "data": { + "name": "" + }, + "position": { + "x": 616, + "y": 160 + } + }, + { + "id": "0867b1bc-1cc5-4707-8ddb-40d0318d237c", + "type": "basic.input", + "data": { + "name": "", + "range": "[2:0]", + "clock": false, + "size": 3 + }, + "position": { + "x": 152, + "y": 160 + } + }, + { + "id": "437fac17-b8b4-4d9f-8d03-27300b3b9466", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": false + }, + "position": { + "x": 408, + "y": 48 + } + }, + { + "id": "9c811723-c900-4ceb-9989-036b071ee3fe", + "type": "basic.code", + "data": { + "code": "assign eq = (a == B);", + "params": [ + { + "name": "B" + } + ], + "ports": { + "in": [ + { + "name": "a", + "range": "[2:0]", + "size": 3 + } + ], + "out": [ + { + "name": "eq" + } + ] + } + }, + "position": { + "x": 344, + "y": 160 + }, + "size": { + "width": 224, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "eq" + }, + "target": { + "block": "0344dacc-8583-456b-b377-8cb4ab97cf94", + "port": "in" + } + }, + { + "source": { + "block": "0867b1bc-1cc5-4707-8ddb-40d0318d237c", + "port": "out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "a" + }, + "size": 3 + }, + { + "source": { + "block": "437fac17-b8b4-4d9f-8d03-27300b3b9466", + "port": "constant-out" + }, + "target": { + "block": "9c811723-c900-4ceb-9989-036b071ee3fe", + "port": "B" + } + } + ] + } + } + }, + "fbbede7f059cd50db81d1e80b2e575ed877c91a0": { + "package": { + "name": "mi-tabla2-8", + "version": "0.1", + "description": "Circuito combinacional de 2 entradas y 8 salidas", + "author": "IceFactory 0.1", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22184.803%22%20height=%22197.944%22%20viewBox=%220%200%20173.25325%20185.57257%22%3E%3Cg%20transform=%22translate(-181.933%20-240.254)%22%20stroke=%22#000%22%3E%3Crect%20width=%22170.253%22%20height=%22182.573%22%20x=%22183.433%22%20y=%22241.754%22%20ry=%2219.969%22%20fill=%22#3e8db8%22%20stroke-width=%223%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22274.019%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22381.832%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25;text-align:center%22%20x=%22267.708%22%20y=%22368.911%22%20font-weight=%22400%22%20font-size=%2212.5%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%223%22%3E%3Ctspan%20x=%22267.708%22%20y=%22368.911%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2270%22%3EHEX%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "186c4116-7846-4c8e-98a0-7376675105f1", + "type": "basic.input", + "data": { + "name": "", + "range": "[1:0]", + "clock": false, + "size": 2 + }, + "position": { + "x": -8, + "y": 424 + } + }, + { + "id": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 632, + "y": 424 + } + }, + { + "id": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "type": "basic.memory", + "data": { + "name": "", + "list": "0\n0\n0\n0", + "local": false + }, + "position": { + "x": 328, + "y": 96 + }, + "size": { + "width": 96, + "height": 104 + } + }, + { + "id": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "type": "basic.code", + "data": { + "code": "\n//-- Bits del bus de entrada\nlocalparam N = 2;\n\n//-- Bits del bus de salida\nlocalparam M = 8;\n\n//-- Calcular tamaño de la tabla\n//-- (filas) segun los bits de entrada\nlocalparam TAM = 2 ** N;\n\n//-- Definición de la tabla\n//-- Tabla de TAM elementos de M bits\nreg [M-1:0] tabla[0:TAM-1];\n\n//-- Read the table\nassign q = tabla[i];\n\n//-- Init table from DATA parameters\ninitial begin\n if (DATA) $readmemh(DATA, tabla);\nend", + "params": [ + { + "name": "DATA" + } + ], + "ports": { + "in": [ + { + "name": "i", + "range": "[1:0]", + "size": 2 + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 176, + "y": 264 + }, + "size": { + "width": 392, + "height": 384 + } + } + ], + "wires": [ + { + "source": { + "block": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "port": "memory-out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "DATA" + } + }, + { + "source": { + "block": "186c4116-7846-4c8e-98a0-7376675105f1", + "port": "out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "i" + }, + "size": 2 + }, + { + "source": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "q" + }, + "target": { + "block": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "18fd28fbb97a4fd982053988e015aa934dcd6014": { + "package": { + "name": "Valor_0_2bits", + "version": "0.0.1", + "description": "Valor constante 0 para bus de 2 bits", + "author": "Juan Gonzalez-Gomez (Obijuan)", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22145.966%22%20height=%22305.779%22%20viewBox=%220%200%20136.8427%20286.66758%22%3E%3Cg%20font-weight=%22400%22%20font-family=%22Ubuntu%20Mono%22%20letter-spacing=%220%22%20word-spacing=%220%22%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22293.115%22%20y=%22648.344%22%20font-size=%22335.399%22%20fill=%22green%22%20transform=%22translate(-308.544%20-436.037)%22%3E%3Ctspan%20x=%22293.115%22%20y=%22648.344%22%3E0%3C/tspan%3E%3C/text%3E%3Ctext%20style=%22line-height:125%25;-inkscape-font-specification:'Ubuntu%20Mono'%22%20x=%22341.722%22%20y=%22721.624%22%20font-size=%2283.077%22%20transform=%22translate(-308.544%20-436.037)%22%3E%3Ctspan%20x=%22341.722%22%20y=%22721.624%22%3E00%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "type": "basic.output", + "data": { + "name": "k", + "range": "[1:0]", + "size": 2 + }, + "position": { + "x": 928, + "y": 256 + } + }, + { + "id": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "type": "basic.constant", + "data": { + "name": "", + "value": "0", + "local": true + }, + "position": { + "x": 728, + "y": 136 + } + }, + { + "id": "ae9e32fe-296d-4700-a429-1178ece2609d", + "type": "1577535d38e0077281a8de7dc00933b07ec4f543", + "position": { + "x": 728, + "y": 256 + }, + "size": { + "width": 96, + "height": 64 + } + } + ], + "wires": [ + { + "source": { + "block": "ae9e32fe-296d-4700-a429-1178ece2609d", + "port": "603ddbc9-28cf-4ecc-a0c6-a5a2ce3b0b26" + }, + "target": { + "block": "6a253ddf-22b2-43cd-ba6f-561bd1af6970", + "port": "in" + }, + "size": 2 + }, + { + "source": { + "block": "ad7918eb-22dd-4b6c-949f-e428f5a55530", + "port": "constant-out" + }, + "target": { + "block": "ae9e32fe-296d-4700-a429-1178ece2609d", + "port": "c0fb4784-5e8c-4f41-9f4b-6daa2e9e03a4" + } + } + ] + } + } + }, + "803b529bd8442eec469c2f5e6f8da7958fcf7a87": { + "package": { + "name": "mi-tabla8-8", + "version": "0.1", + "description": "Circuito combinacional de 8 entradas y 8 salidas", + "author": "IceFactory 0.1", + "image": "%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22184.803%22%20height=%22197.944%22%20viewBox=%220%200%20173.25325%20185.57257%22%3E%3Cg%20transform=%22translate(-181.933%20-240.254)%22%20stroke=%22#000%22%3E%3Crect%20width=%22170.253%22%20height=%22182.573%22%20x=%22183.433%22%20y=%22241.754%22%20ry=%2219.969%22%20fill=%22#3e8db8%22%20stroke-width=%223%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22274.019%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22274.413%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22196.408%22%20y=%22381.832%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22246.344%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Crect%20width=%2244.038%22%20height=%2231.478%22%20x=%22296.415%22%20y=%22382.225%22%20ry=%220%22%20fill=%22#e6e6e6%22%20stroke-width=%222%22%20stroke-linecap=%22square%22%20stroke-linejoin=%22round%22/%3E%3Ctext%20style=%22line-height:125%25;text-align:center%22%20x=%22267.708%22%20y=%22368.911%22%20font-weight=%22400%22%20font-size=%2212.5%22%20font-family=%22sans-serif%22%20letter-spacing=%220%22%20word-spacing=%220%22%20text-anchor=%22middle%22%20fill=%22#ff0%22%20stroke-width=%223%22%3E%3Ctspan%20x=%22267.708%22%20y=%22368.911%22%20style=%22-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%2270%22%3EHEX%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E" + }, + "design": { + "graph": { + "blocks": [ + { + "id": "186c4116-7846-4c8e-98a0-7376675105f1", + "type": "basic.input", + "data": { + "name": "", + "range": "[7:0]", + "clock": false, + "size": 8 + }, + "position": { + "x": -8, + "y": 424 + } + }, + { + "id": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "type": "basic.output", + "data": { + "name": "", + "range": "[7:0]", + "size": 8 + }, + "position": { + "x": 632, + "y": 424 + } + }, + { + "id": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "type": "basic.memory", + "data": { + "name": "", + "list": "0\n0\n0\n0", + "local": false + }, + "position": { + "x": 328, + "y": 96 + }, + "size": { + "width": 96, + "height": 104 + } + }, + { + "id": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "type": "basic.code", + "data": { + "code": "\n//-- Bits del bus de entrada\nlocalparam N = 8;\n\n//-- Bits del bus de salida\nlocalparam M = 8;\n\n//-- Calcular tamaño de la tabla\n//-- (filas) segun los bits de entrada\nlocalparam TAM = 2 ** N;\n\n//-- Definición de la tabla\n//-- Tabla de TAM elementos de M bits\nreg [M-1:0] tabla[0:TAM-1];\n\n//-- Read the table\nassign q = tabla[i];\n\n//-- Init table from DATA parameters\ninitial begin\n if (DATA) $readmemh(DATA, tabla);\nend", + "params": [ + { + "name": "DATA" + } + ], + "ports": { + "in": [ + { + "name": "i", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "q", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 176, + "y": 264 + }, + "size": { + "width": 392, + "height": 384 + } + } + ], + "wires": [ + { + "source": { + "block": "c71c44ac-0500-4eb5-9c1c-4ea21cd78377", + "port": "memory-out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "DATA" + } + }, + { + "source": { + "block": "186c4116-7846-4c8e-98a0-7376675105f1", + "port": "out" + }, + "target": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "i" + }, + "size": 8 + }, + { + "source": { + "block": "48c38eba-4e12-44d9-a55b-a93def6a27db", + "port": "q" + }, + "target": { + "block": "f9c58d8f-75fc-4483-b0d2-d584a555b1c5", + "port": "in" + }, + "size": 8 + } + ] + } + } + }, + "72f2da08f76e48c31eb87c8061f01f020e2650be": { + "package": { + "name": "8_bits_divide_by_2", + "version": "0.1", + "description": "8 bits divide by 2.", + "author": "Democrito", + "image": "%3Csvg%20width=%22269.812%22%20height=%22183.786%22%20viewBox=%220%200%20252.94863%20172.30031%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d=%22M23.515%209.543l-.053-1.218.474.896%2077.014%20161.434H80.779L3.872%209.341l-.439.318.177-.51.07.522-.241-.637H23.61l.04.516.04.503z%22%20style=%22line-height:1.25%22%20font-size=%22190.376%22%20fill=%22#00f%22/%3E%3Cpath%20d=%22M178.474%20140.22h74.475v32.08h-122.99v-32.08l61.778-54.523q8.275-7.482%2012.242-14.623%203.968-7.142%203.968-14.85%200-11.902-8.048-19.157-7.935-7.255-21.198-7.255-10.202%200-22.331%204.421-12.129%204.308-25.958%2012.923V9.976q14.736-4.875%2029.132-7.369Q173.94%200%20187.769%200q30.38%200%2047.156%2013.376%2016.89%2013.376%2016.89%2037.294%200%2013.83-7.141%2025.845-7.141%2011.902-30.04%2031.966z%22%20style=%22line-height:1.25;-inkscape-font-specification:'sans-serif%20Bold'%22%20font-weight=%22700%22%20font-size=%22232.152%22/%3E%3C/svg%3E", + "otid": 1664993769966 + }, + "design": { + "graph": { + "blocks": [ + { + "id": "903db95f-b974-438e-94a7-8196c2936125", + "type": "basic.input", + "data": { + "name": "in", + "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, + "clock": false + }, + "position": { + "x": 464, + "y": 208 + } + }, + { + "id": "e544b686-6003-46a2-80f6-a1f307c28890", + "type": "basic.output", + "data": { + "name": "out", + "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": false + }, + "position": { + "x": 1088, + "y": 208 + } + }, + { + "id": "f65c405e-e47b-4127-8202-6f7858707198", + "type": "basic.code", + "data": { + "code": "assign b = a / 2;", + "params": [], + "ports": { + "in": [ + { + "name": "a", + "range": "[7:0]", + "size": 8 + } + ], + "out": [ + { + "name": "b", + "range": "[7:0]", + "size": 8 + } + ] + } + }, + "position": { + "x": 648, + "y": 200 + }, + "size": { + "width": 336, + "height": 72 + } + } + ], + "wires": [ + { + "source": { + "block": "903db95f-b974-438e-94a7-8196c2936125", + "port": "out" + }, + "target": { + "block": "f65c405e-e47b-4127-8202-6f7858707198", + "port": "a" + }, + "size": 8 + }, + { + "source": { + "block": "f65c405e-e47b-4127-8202-6f7858707198", + "port": "b" + }, + "target": { + "block": "e544b686-6003-46a2-80f6-a1f307c28890", + "port": "in" + }, + "size": 8 + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/examples/I2C/OLED/needles_indicator/readme.md b/examples/I2C/OLED/needles_indicator/readme.md new file mode 100644 index 0000000..7d61850 --- /dev/null +++ b/examples/I2C/OLED/needles_indicator/readme.md @@ -0,0 +1,33 @@ +# Needle indicator + +![](https://github.com/Democrito/repositorios/blob/master/Sensors/I2C/OLED/needle_indicator/IMG/ADC%20to%20OLED%20needle%20indicator.PNG) + +This project is an example where you take an ADC and turn the data it gives you into a graph where an indicator needle gives the position of the voltage. + +Video of this project: https://www.youtube.com/shorts/e454pzuxG7M + +Internally, the part that traces the indicator line is made up of 3 phases in time: + +1.) Clear memory. +2.) It does the line calculation and stores it in memory. +3.) Dump the memory on the OLED screen. + +The base of the "needle" is fixed, it is always at position (63,63), that is, on a 128x64 pixel screen, the fixed point is completely below the **Y**-axis and halfway along the **X**-axis. To create the feeling that the line always measures the same length (going through a semicircle), two tables are used that contain the values of the sine and cosine for each axis, but with various settings, because the **Y** axis of the OLED screen starts at the bottom. top left and you have to subtract 63 positions. The results given in the tables take into account all these details. + +If anyone tests it, I'd advise using a potentiometer that isn't too resistive, ideally one that's between 5K and 20K. The higher the resistance, the noisier it becomes, and the "needle" becomes more unstable. And values lower than 5K can also be used, but be careful not to let too much current flow through the potentiometer and burn it out. The voltage with which I have fed the potentiometer has been 3.3V + +Maybe you want to give it another use, and instead of an ADC, you want to put another sensor, if so, go ahead and experiment! + +## OLED connection trick in the [Alhambra II FPGA](https://alhambrabits.com/alhambra/). + +Each manufacturer lays out the pins in a different way. If you are lucky enough that your OLED display has this pin layout: + +**VCC - GND - SCL - SDA** (seen from above) + +You can connect it without the need for cables, directly to the [Alhambra II](https://alhambrabits.com/alhambra/). This connection is not at all orthodox, however OLED screens have so little consumption that they can take advantage of the Vref voltage to work perfectly. + +![](https://github.com/Democrito/repositorios/blob/master/Sensors/I2C/OLED/drawLines/img/alhambra%20fpga%20oled.jpg) + +### Credits: [Obijuan](https://github.com/Obijuan), [Carlos Venegas Arrabé](https://github.com/cavearr) and [Joaquim](https://groups.google.com/g/fpga-wars-explorando-el-lado-libre/c/FN34KJtfhSo). + +### Log: https://groups.google.com/g/fpga-wars-explorando-el-lado-libre/c/FN34KJtfhSo