{"id":910,"date":"2021-05-25T14:46:12","date_gmt":"2021-05-25T14:46:12","guid":{"rendered":"https:\/\/dsd.webs.upv.es\/?page_id=910"},"modified":"2025-08-06T16:46:38","modified_gmt":"2025-08-06T16:46:38","slug":"cambiar-a-borradorvista-previaactualizaranadir-el-titulo","status":"publish","type":"page","link":"https:\/\/dsd.webs.upv.es\/?page_id=910","title":{"rendered":"M\u00e1quinas Moore con salidas registradas"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"block-71aadb9d-9939-42f4-b945-7a00cb83dac4\">Las m\u00e1quinas Moore con salidas registradas se caracterizan por registrar, en lugar de las salidas, las pr\u00f3ximas salidas, lo cual hace necesario prever esas pr\u00f3ximas salidas. Esto es sencillo en los modelos Moore puesto que las pr\u00f3ximas salidas solo dependen del pr\u00f3ximo estado. Una vez sabemos cuales son las pr\u00f3ximas salidas y las registramos, observamos que el efecto resultante es la aparici\u00f3n de las salidas definitivas en el mismo ciclo que las que describ\u00edamos&nbsp; en el&nbsp;<strong>Ejemplo 1<\/strong>. Por tanto el modelo que utilizar\u00edamos ser\u00eda el representado en la&nbsp;<strong>Ilustraci\u00f3n 7<\/strong>&nbsp;.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"block-10e7ecd7-bb3e-46a9-af8f-f2e158b63374\"><img decoding=\"async\" src=\"https:\/\/poliformat.upv.es\/access\/content\/group\/GRA_12412_2017\/Ocultos\/Imagenes\/Diagrama%20bloques_moore_registrado_bien1.png\" alt=\"This image has an empty alt attribute; its file name is Diagrama%20bloques_moore_registrado_bien1.png\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-d97cb70a-6f95-4066-8a0e-eefd64be11df\"><strong>Ilustraci\u00f3n 7<\/strong>.&nbsp;Modelo Moore con salidas registradas. Primera alternativa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><p id=\"block-91d3461b-0e37-45b0-b66e-ec9e31e3d017\">\ufeff<\/p><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-cc6d8bcf-c77f-44dd-b072-f4ce32b901f9\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si tomamos nuestro ejemplo de detector de secuencia y lo describimos con un modelo Moore con salidas registradas tendremos la descripci\u00f3n del siguiente ejemplo.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: systemverilog; title: ; notranslate\" title=\"\">\nmodule moore_reg1(RELOJ, RESET_A, SALIDA,  ENTRADA);\n    input RELOJ,ENTRADA,RESET_A;\n    output SALIDA;\nparameter &#x5B;3:0] \/*synopsys enum hola*\/ Q1=4&#039;H1, Q2=4&#039;H2, Q3=4&#039;H4,Q4=4&#039;H8 ;\nreg SALIDA,SALIDA_PROX;\nreg &#x5B;3:0] \/*synopsys enum hola*\/ ESTADO, ESTADO_PROX; \n\nalways @(ESTADO or ENTRADA) \/\/combinacional1\ncase (ESTADO) \/\/synopsys full_case \n    Q1 : if (!ENTRADA) ESTADO_PROX=Q2;else ESTADO_PROX=Q1;\n    Q2 : if (ENTRADA) ESTADO_PROX=Q3; else ESTADO_PROX=Q2;\n    Q3 : if (!ENTRADA) ESTADO_PROX=Q4; else ESTADO_PROX=Q1;\n    Q4 : if (!ENTRADA) ESTADO_PROX=Q2;else ESTADO_PROX=Q3; endcase\n\nalways @(posedge RELOJ or negedge RESET_A) \/\/secuencial 2 y 4\nif (!RESET_A)   begin \n        ESTADO &lt;= Q1;\n        SALIDA &lt;= 1&#039;b0;\nend else        begin\n        ESTADO&lt;=ESTADO_PROX ;\n        SALIDA&lt;=SALIDA_PROX;\n        end\n\nalways @(ESTADO_PROX) \/\/combinacional 3\ncase (ESTADO_PROX) \n    Q1:  SALIDA_PROX=1&#039;b0;\n    Q2:  SALIDA_PROX=1&#039;b0;\n    Q3:  SALIDA_PROX=1&#039;b0;\n    Q4 : SALIDA_PROX=1&#039;b1;\n    default : SALIDA=1&#039;bx;\nendcase\nendmodule\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\" id=\"block-4d614dd2-3ffb-40df-87eb-9d2914ddbb4d\"><strong>Ejemplo 7<\/strong>.&nbsp;&nbsp; M\u00e1quina Moore registrada. Primera alternativa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-27e843e6-9c20-4680-b22f-4bb3db27b5fe\">Si pensamos que el estado siguiente depende de entradas y estado, podemos decir que las salidas siguientes dependen tambi\u00e9n de entradas y estado, con lo cual tenemos el siguiente diagrama de bloques<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><p id=\"block-dd026bf8-c14e-4ea2-9d9d-c12ffb175802\">\ufeff<\/p><\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"block-efaa6842-4cbd-4d25-93a8-e1930561b920\"><img decoding=\"async\" src=\"https:\/\/poliformat.upv.es\/access\/content\/group\/GRA_12412_2017\/Ocultos\/Imagenes\/Diagrama%20bloques_moore_registrado_bien2.png\" alt=\"This image has an empty alt attribute; its file name is Diagrama%20bloques_moore_registrado_bien2.png\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-d94c2e9d-cc19-4900-864b-2202b956b86b\"><strong>Ilustraci\u00f3n 8<\/strong>. Modelo Moore con salidas registradas . Segunda alternativa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-f9242617-0da7-4a09-a846-f1e48a073eb9\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si tomamos nuestro ejemplo de detector de secuencia y lo describimos con un modelo Moore con salidas registradas siguiendo el diagrama de bloques de la ilustraci\u00f3n 8, tendremos la descripci\u00f3n del siguiente ejemplo.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: systemverilog; title: ; notranslate\" title=\"\">\nmodule moore_reg1(RELOJ, RESET_A, SALIDA,  ENTRADA);\n    input RELOJ,ENTRADA,RESET_A;\n    output SALIDA;\nparameter &#x5B;3:0] \/*synopsys enum hola*\/ Q1=4&#039;H1, Q2=4&#039;H2, Q3=4&#039;H4,Q4=4&#039;H8 ;\nreg SALIDA,SALIDA_PROX;\nreg &#x5B;3:0] \/*synopsys enum hola*\/ ESTADO, ESTADO_PROX; \n\nalways @(ESTADO or ENTRADA) \/\/combinacional1\ncase (ESTADO) \/\/synopsys full_case \n    Q1 : if (!ENTRADA) ESTADO_PROX=Q2;else ESTADO_PROX=Q1;\n    Q2 : if (ENTRADA) ESTADO_PROX=Q3; else ESTADO_PROX=Q2;\n    Q3 : if (!ENTRADA) ESTADO_PROX=Q4; else ESTADO_PROX=Q1;\n    Q4 : if (!ENTRADA) ESTADO_PROX=Q2;else ESTADO_PROX=Q3; endcase\n\nalways @(posedge RELOJ or negedge RESET_A) \/\/secuencial 2 y 4\nif (!RESET_A)   begin \n        ESTADO &lt;= Q1;\n        SALIDA &lt;= 1&#039;b0;\nend else        begin\n        ESTADO&lt;=ESTADO_PROX ;\n        SALIDA&lt;=SALIDA_PROX;\n        end\n\nalways @(ESTADO_PROX) \/\/combinacional 3\ncase (ESTADO_PROX) \n    Q1:  SALIDA_PROX=1&#039;b0;\n    Q2:  SALIDA_PROX=1&#039;b0;\n    Q3:  SALIDA_PROX=1&#039;b0;\n    Q4 : SALIDA_PROX=1&#039;b1;\n    default : SALIDA=1&#039;bx;\nendcase\nendmodule\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\" id=\"block-77709029-9f94-46f8-bf24-0da56af0ecf3\"><strong>Ejemplo 8.&nbsp;&nbsp;&nbsp;<\/strong>M\u00e1quina Moore registrada. Segunda alternativa<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-ed569ef4-255f-487e-86fc-b287b1951dd1\">Para concluir vamos a ver el siguiente video:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><iframe loading=\"lazy\" allowfullscreen=\"\" src=\"https:\/\/media.upv.es\/player\/embed.html?id=54652110-bd4c-11eb-9ced-87fecb69edb2\" style=\"border:0px #FFFFFF none;\" name=\"Paella Player\" scrolling=\"no\" frameborder=\"0\" marginheight=\"0px\" marginwidth=\"0px\" width=\"640\" height=\"360\"> <\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las m\u00e1quinas Moore con salidas registradas se caracterizan por registrar, en lugar de las salidas, las pr\u00f3ximas salidas, lo cual hace necesario prever esas pr\u00f3ximas salidas. Esto es sencillo en los modelos Moore puesto que las pr\u00f3ximas salidas solo dependen del pr\u00f3ximo estado. Una vez sabemos cuales son las pr\u00f3ximas salidas y las registramos, observamos que el efecto resultante es la aparici\u00f3n de las salidas definitivas en el mismo ciclo que las que describ\u00edamos&nbsp; en el&nbsp;Ejemplo 1. Por tanto el modelo que utilizar\u00edamos ser\u00eda el representado en la&nbsp;Ilustraci\u00f3n 7&nbsp;. Ilustraci\u00f3n 7.&nbsp;Modelo Moore con salidas registradas. Primera alternativa \ufeff &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si tomamos nuestro ejemplo de detector de secuencia y lo describimos con un modelo Moore con salidas registradas tendremos la descripci\u00f3n del siguiente ejemplo. Ejemplo 7.&nbsp;&nbsp; M\u00e1quina Moore registrada. Primera alternativa Si pensamos que el estado siguiente depende de entradas y estado, podemos decir que las salidas siguientes dependen tambi\u00e9n de entradas y estado, con lo cual tenemos el siguiente diagrama de bloques \ufeff Ilustraci\u00f3n 8. Modelo Moore con salidas registradas . Segunda alternativa &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Si tomamos nuestro ejemplo de detector de secuencia y lo describimos con un modelo Moore con salidas registradas siguiendo el diagrama de bloques de la ilustraci\u00f3n 8, tendremos la descripci\u00f3n del siguiente ejemplo. Ejemplo 8.&nbsp;&nbsp;&nbsp;M\u00e1quina Moore registrada. Segunda alternativa Para concluir vamos a ver el siguiente video:<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","ub_ctt_via":"","footnotes":""},"class_list":["post-910","page","type-page","status-publish","hentry"],"featured_image_src":null,"_links":{"self":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=910"}],"version-history":[{"count":4,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/910\/revisions"}],"predecessor-version":[{"id":1854,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/910\/revisions\/1854"}],"wp:attachment":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}