{"id":1191,"date":"2021-10-13T11:27:50","date_gmt":"2021-10-13T11:27:50","guid":{"rendered":"https:\/\/dsd.webs.upv.es\/?page_id=1191"},"modified":"2024-10-25T16:22:06","modified_gmt":"2024-10-25T16:22:06","slug":"observacion-de-resultados","status":"publish","type":"page","link":"https:\/\/dsd.webs.upv.es\/?page_id=1191","title":{"rendered":"Observaci\u00f3n de resultados"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Visualizadores de ondas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ni que decir tiene que la forma m\u00e1s b\u00e1sica de visualizaci\u00f3n de resultados es mediante un visualizador de ondas.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Todos los entornos comerciales de simulaci\u00f3n basados en HDL tienen asociada una herramienta de visualizaci\u00f3n de resultados mediante un visualizador de ondas<\/li>\n\n\n\n<li>Los entornos libres de simulaci\u00f3n no lo suelen incorporar, si bien es verdad que eso no suele constituir un problema gracias a los visualizadores gratuitos de formatos de forma de onda est\u00e1ndares como el Valeu Change Dump&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Value_change_dump\" target=\"_blank\" rel=\"noreferrer noopener\">VCD<\/a>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Es una buena opci\u00f3n para la observaci\u00f3n con detalle,&nbsp; de un comportamiento del dise\u00f1o ante los est\u00edmulos recibidos; pero no es una opci\u00f3n adecuada cuando se deben comprobar centenares o miles de situaciones diferentes repartidas en el tiempo de simulaci\u00f3n. Solo si existe un fallo detectado en nuestro sistema de comprobaci\u00f3n de resultados, es factible verlo en detalle con un visualizador de ondas; pero evidentemente deber\u00eda haber un chequeo de resultados previo que debe de hacerse lo m\u00e1s autom\u00e1tico posible y mediante el propio banco de pruebas realizado en HDL<a href=\"https:\/\/poliformat.upv.es\/portal\/site\/GRA_12450_2021\/tool\/23508f1c-7832-41d9-bcd9-9721e27e39cf\/EditPage?returnView=&amp;studentItemId=0&amp;backPath=&amp;bltiAppStores=false&amp;errorMessage=&amp;clearAttr=&amp;messageId=&amp;source=&amp;title=&amp;sendingPage=7557364&amp;newTopLevel=false&amp;postedComment=false&amp;addBefore=&amp;path=&amp;itemId=8125730&amp;topicId=&amp;addTool=-1&amp;recheck=&amp;id=&amp;forumId=\"><\/a><a href=\"https:\/\/poliformat.upv.es\/portal\/site\/GRA_12450_2021\/tool\/23508f1c-7832-41d9-bcd9-9721e27e39cf\/ShowPage?returnView=&amp;studentItemId=0&amp;backPath=&amp;bltiAppStores=false&amp;errorMessage=&amp;clearAttr=&amp;messageId=&amp;source=&amp;title=&amp;sendingPage=7557364&amp;newTopLevel=false&amp;postedComment=false&amp;addBefore=&amp;path=push&amp;itemId=8125742&amp;topicId=&amp;addTool=-1&amp;recheck=&amp;id=&amp;forumId=#\"><\/a><a href=\"https:\/\/poliformat.upv.es\/portal\/site\/GRA_12450_2021\/tool\/23508f1c-7832-41d9-bcd9-9721e27e39cf\/ShowPage?returnView=&amp;studentItemId=0&amp;backPath=&amp;bltiAppStores=false&amp;errorMessage=&amp;clearAttr=&amp;messageId=&amp;source=&amp;title=&amp;sendingPage=7557364&amp;newTopLevel=false&amp;postedComment=false&amp;addBefore=&amp;path=push&amp;itemId=8125742&amp;topicId=&amp;addTool=-1&amp;recheck=&amp;id=&amp;forumId=#\"><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobaci\u00f3n de resultados con HDL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos a establecer unos condicionantes de partida bastante usuales en dise\u00f1os sencillos<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Supongamos (lo cual suele ser una buena suposici\u00f3n) que conocemos el comportamiento que tiene que tener nuestro dise\u00f1o antes los est\u00edmulos que nos hemos encargado previamente de generar con nuestro banco de pruebas. Normalmente ese comportamiento deseado lo podemos tener representado mediante unos vectores (\u00abgolden vectors\u00bb). Fij\u00e9mosnos que esto es bastante habitual y es factible en dise\u00f1os en los cuales los modos de funcionamiento que debo de comprobar no suelen superar unas decenas de situaciones establecidas en las especificaciones.<\/li>\n\n\n\n<li>Al igual que estabeciamos en la generaci\u00f3n de est\u00edmulos, la comprobaci\u00f3n de resultados debe de ser robusta en su utilizaci\u00f3n tanto en dise\u00f1os de tipo RTL (sin retardos) como en dise\u00f1os a nivel \u00abgate level\u00bb (con retardos muy aproximados a los reales).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Ante estos condicionantes, vamos a ver una soluci\u00f3n de comprobaci\u00f3n de resultados muy sencilla, en la cual vamos a manejar \u00abtasks\u00bb b\u00e1sicos que tengan como argumento de entrada el valor esperado y que el momento de comprobaci\u00f3n lo estableceremos en el tiempo mediante un \u00abinitial\u00bb general que llamar\u00e1 a dichos procedimientos previamente definidos. Ve\u00e1moslo en el siguiente v\u00eddeo trabajando con un modelo RTL (\u00abCero delay\u00bb)<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Simulaci\u00f3n Verilog, observaci\u00f3n de resultados | 17\/34 | UPV\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/GPDmN_gNHsk?start=378&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando el dise\u00f1o a comprobar tiene retardos, debemos ser m\u00e1s cuidadosos porque puede ser que el dato obtenido lo estemos comprobando con el esperado cuando aun no se ha estabilizado el mismo. Vamos a ver dicha problem\u00e1tica en el siguiente v\u00eddeo , en el cual hemos emulado con un dise\u00f1o RTL con retardos, algunas de las situaciones posibles en dise\u00f1os a nivel \u00abGate Level\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Simulaci\u00f3n Verilog, observaci\u00f3n de resultados con retardos | 16\/34 | UPV\" width=\"960\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/D0eLpHDHpe8?start=334&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Laboratorio virtual<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.edaplayground.com\/x\/3AyW\"><img loading=\"lazy\" decoding=\"async\" width=\"295\" height=\"71\" src=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2023\/09\/image-8.png\" alt=\"\" class=\"wp-image-1518\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visualizadores de ondas Ni que decir tiene que la forma m\u00e1s b\u00e1sica de visualizaci\u00f3n de resultados es mediante un visualizador de ondas. Es una buena opci\u00f3n para la observaci\u00f3n con detalle,&nbsp; de un comportamiento del dise\u00f1o ante los est\u00edmulos recibidos; pero no es una opci\u00f3n adecuada cuando se deben comprobar centenares o miles de situaciones diferentes repartidas en el tiempo de simulaci\u00f3n. Solo si existe un fallo detectado en nuestro sistema de comprobaci\u00f3n de resultados, es factible verlo en detalle con un visualizador de ondas; pero evidentemente deber\u00eda haber un chequeo de resultados previo que debe de hacerse lo m\u00e1s autom\u00e1tico posible y mediante el propio banco de pruebas realizado en HDL Comprobaci\u00f3n de resultados con HDL Vamos a establecer unos condicionantes de partida bastante usuales en dise\u00f1os sencillos Ante estos condicionantes, vamos a ver una soluci\u00f3n de comprobaci\u00f3n de resultados muy sencilla, en la cual vamos a manejar \u00abtasks\u00bb b\u00e1sicos que tengan como argumento de entrada el valor esperado y que el momento de comprobaci\u00f3n lo estableceremos en el tiempo mediante un \u00abinitial\u00bb general que llamar\u00e1 a dichos procedimientos previamente definidos. Ve\u00e1moslo en el siguiente v\u00eddeo trabajando con un modelo RTL (\u00abCero delay\u00bb) Cuando el dise\u00f1o a comprobar tiene retardos, debemos ser m\u00e1s cuidadosos porque puede ser que el dato obtenido lo estemos comprobando con el esperado cuando aun no se ha estabilizado el mismo. Vamos a ver dicha problem\u00e1tica en el siguiente v\u00eddeo , en el cual hemos emulado con un dise\u00f1o RTL con retardos, algunas de las situaciones posibles en dise\u00f1os a nivel \u00abGate Level\u00bb. Laboratorio virtual<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-1191","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\/1191","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=1191"}],"version-history":[{"count":5,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/1191\/revisions"}],"predecessor-version":[{"id":1589,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/1191\/revisions\/1589"}],"wp:attachment":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}