{"id":1313,"date":"2022-06-10T08:03:00","date_gmt":"2022-06-10T08:03:00","guid":{"rendered":"https:\/\/dsd.webs.upv.es\/?p=1313"},"modified":"2025-04-23T08:56:49","modified_gmt":"2025-04-23T08:56:49","slug":"sesion-1-seminario-verificacion-uvm-nivel-basico","status":"publish","type":"post","link":"https:\/\/dsd.webs.upv.es\/?p=1313","title":{"rendered":"Sesion 1 Seminario Verificacion UVM nivel b\u00e1sico"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instrucciones iniciales<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Haremos las sesiones de este seminario en el aula inform\u00e1tica I (situado en la planta baja del edificio 4D de la ETSIT <\/li>\n\n\n\n<li>Necesito que vay\u00e1is equipados con vuestro port\u00e1til y que teng\u00e1is instalado dos programas que teneis en recursos de poliformat. Son Questasim (que es posible que algunos de vosotros ya teng\u00e1is instalado) y un assistente de systemverilog denominado SystemVerilog-VHDL assistant. Afortunadamente no son programas muy pesados y para poder ejecutarlos necesitar\u00e9is estar en la VPN de la universidad (si est\u00e1is fuera de la universidad) o conectados a trav\u00e9s de UPVNET. Es necesario que a\u00f1ad\u00e1is una variable de entorno a vuestro windows que encontrar\u00e9is disponible bajo la carpeta de questasim de recursos del poliformat del curso de formaci\u00f3n Aula de Microelectr\u00f3nica. <\/li>\n\n\n\n<li>Para aquellos que no dispongan de esta infraestructura, intentaremos crear alg\u00fan usuario en polilabs bajo demanda. Esta es una soluci\u00f3n m\u00e1s lenta y que resolveremos al principio de la semana que viene . Es posible que muchos de vosotros (los alumnos MUISE) teng\u00e1is acceso a la m\u00e1quina de polilabs denominada ETSIT-CADENCE2. En dicha m\u00e1quina tambi\u00e9n est\u00e1n instalados los programas. Para su correcto funcionamiento os adjuntar\u00e9 en recursos los ficheros a colocar en vuestro \u00abhome\u00bb para su correcto funcionamiento. <\/li>\n\n\n\n<li>Para terminar, mi canal de comunicaci\u00f3n con vosotros ser\u00e1 a partir de ahora ser\u00e1 la p\u00e1gina web <a href=\"https:\/\/dsd.webs.upv.es\/\">https:\/\/dsd.webs.upv.es\/<\/a> En dicha web est\u00e1 grabados en video los pasos que vamos a hacer en este seminario y que intentar\u00e9 ejecutar en directo. Es muy importante que veng\u00e1is equipados con auriculares!! <\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Dise\u00f1o a verificar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos a verificar un divisor algor\u00edtmico. El c\u00f3digo ASM es el que se adjunta en la siguiente figura<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"966\" src=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/09\/Divisor_algoritmico.jpg\" alt=\"\" class=\"wp-image-1396\" srcset=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/09\/Divisor_algoritmico.jpg 616w, https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/09\/Divisor_algoritmico-191x300.jpg 191w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"> Os adjunto informaci\u00f3n de c\u00f3mo deber\u00edan denominarse los puertos y de entrada y salida. Es muy importante respetar este tipo de nombres sobre todo si se quiere reusar un banco de pruebas previo.<\/p>\n\n\n\n<style>\n.hljs {\n  color: #383a42;\n  background: #fafafa;\n}\n.hljs-comment,\n.hljs-quote {\n  color: #a0a1a7;\n  font-style: italic;\n}\n.hljs-doctag,\n.hljs-keyword,\n.hljs-formula {\n  color: #a626a4;\n}\n.hljs-section,\n.hljs-name,\n.hljs-selector-tag,\n.hljs-deletion,\n.hljs-subst {\n  color: #e45649;\n}\n.hljs-literal {\n  color: #0184bb;\n}\n.hljs-string,\n.hljs-regexp,\n.hljs-addition,\n.hljs-attribute,\n.hljs-meta .hljs-string {\n  color: #50a14f;\n}\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-type,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-number {\n  color: #986801;\n}\n.hljs-symbol,\n.hljs-bullet,\n.hljs-link,\n.hljs-meta,\n.hljs-selector-id,\n.hljs-title {\n  color: #4078f2;\n}\n.hljs-built_in,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n  color: #c18401;\n}\n.hljs-emphasis {\n  font-style: italic;\n}\n.hljs-strong {\n  font-weight: bold;\n}\n.hljs-link {\n  text-decoration: underline;\n}\n.markdown-body .octicon {\n  display: inline-block;\n  fill: currentColor;\n  vertical-align: text-bottom;\n}\n#descriptions{\n  margin-left:5.5%;\n  margin-right:3%;\n}\n.markdown-body .anchor {\n  float: left;\n  line-height: 1;\n  margin-left: -20px;\n  padding-right: 4px;\n}\n.markdown-body .anchor:focus {\n  outline: none;\n}\n.markdown-body h1 .octicon-link,\n.markdown-body h2 .octicon-link,\n.markdown-body h3 .octicon-link,\n.markdown-body h4 .octicon-link,\n.markdown-body h5 .octicon-link,\n.markdown-body h6 .octicon-link {\n  color: #1b1f23;\n  vertical-align: middle;\n  visibility: hidden;\n}\n.markdown-body h1:hover .anchor,\n.markdown-body h2:hover .anchor,\n.markdown-body h3:hover .anchor,\n.markdown-body h4:hover .anchor,\n.markdown-body h5:hover .anchor,\n.markdown-body h6:hover .anchor {\n  text-decoration: none;\n}\n.markdown-body h1:hover .anchor .octicon-link,\n.markdown-body h2:hover .anchor .octicon-link,\n.markdown-body h3:hover .anchor .octicon-link,\n.markdown-body h4:hover .anchor .octicon-link,\n.markdown-body h5:hover .anchor .octicon-link,\n.markdown-body h6:hover .anchor .octicon-link {\n  visibility: visible;\n}\n.markdown-body h1:hover .anchor .octicon-link:before,\n.markdown-body h2:hover .anchor .octicon-link:before,\n.markdown-body h3:hover .anchor .octicon-link:before,\n.markdown-body h4:hover .anchor .octicon-link:before,\n.markdown-body h5:hover .anchor .octicon-link:before,\n.markdown-body h6:hover .anchor .octicon-link:before {\n  width: 16px;\n  height: 16px;\n  content: ' ';\n  display: inline-block;\n  background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16' aria-hidden='true'%3E%3Cpath fill-rule='evenodd' d='M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z'%3E%3C\/path%3E%3C\/svg%3E\");\n}.markdown-body {\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n  line-height: 1.5;\n  color: #24292e;\n  font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;\n  font-size: 16px;\n  line-height: 1.5;\n  word-wrap: break-word;\n}\n.markdown-body details {\n  display: block;\n}\n.markdown-body summary {\n  display: list-item;\n}\n.markdown-body a {\n  background-color: initial;\n}\n.markdown-body a:active,\n.markdown-body a:hover {\n  outline-width: 0;\n}\n.markdown-body strong {\n  font-weight: inherit;\n  font-weight: bolder;\n}\n.markdown-body h1 {\n  font-size: 2em;\n  margin: .67em 0;\n}\n.markdown-body img {\n  border-style: none;\n}\n.markdown-body code,\n.markdown-body kbd,\n.markdown-body pre {\n  font-family: monospace,monospace;\n  font-size: 1em;\n}\n.markdown-body hr {\n  box-sizing: initial;\n  height: 0;\n  overflow: visible;\n}\n.markdown-body input {\n  font: inherit;\n  margin: 0;\n}\n.markdown-body input {\n  overflow: visible;\n}\n.markdown-body [type=checkbox] {\n  box-sizing: border-box;\n  padding: 0;\n}\n.markdown-body * {\n  box-sizing: border-box;\n}\n.markdown-body input {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n.markdown-body a {\n  color: #0366d6;\n  text-decoration: none;\n}\n.markdown-body a:hover {\n  text-decoration: underline;\n}\n.markdown-body strong {\n  font-weight: 600;\n}\n.markdown-body hr {\n  height: 0;\n  margin: 15px 0;\n  overflow: hidden;\n  background: transparent;\n  border: 0;\n  border-bottom: 1px solid #dfe2e5;\n}\n.markdown-body hr:after,\n.markdown-body hr:before {\n  display: table;\n  content: \"\";\n}\n.markdown-body hr:after {\n  clear: both;\n}\n.markdown-body table {\n  width:100%;\n  border-spacing: 0;\n  border-collapse: collapse;\n}\n.markdown-body td,\n.markdown-body th {\n  padding: 0;\n}\n.markdown-body th {\n    background-color: #ffd78c;\n}\n.markdown-body details summary {\n  cursor: pointer;\n}\n.markdown-body kbd {\n  display: inline-block;\n  padding: 3px 5px;\n  font: 11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  line-height: 10px;\n  color: #444d56;\n  vertical-align: middle;\n  background-color: #fafbfc;\n  border: 1px solid #d1d5da;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 #d1d5da;\n}\n.markdown-body h1,\n.markdown-body h2,\n.markdown-body h3,\n.markdown-body h4,\n.markdown-body h5,\n.markdown-body h6 {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.markdown-body h1 {\n  font-size: 32px;\n}\n.markdown-body h1,\n.markdown-body h2 {\n  font-weight: 600;\n}\n.markdown-body h2 {\n  font-size: 24px;\n}\n.markdown-body h3 {\n  font-size: 20px;\n}\n.markdown-body h3,\n.markdown-body h4 {\n  font-weight: 600;\n}\n.markdown-body h4 {\n  font-size: 16px;\n}\n.markdown-body h5 {\n  font-size: 14px;\n}\n.markdown-body h5,\n.markdown-body h6 {\n  font-weight: 600;\n}\n.markdown-body h6 {\n  font-size: 12px;\n}\n.markdown-body p {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\n.markdown-body blockquote {\n  margin: 0;\n}\n.markdown-body ol,\n.markdown-body ul {\n  padding-left: 0;\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.markdown-body ol ol,\n.markdown-body ul ol {\n  list-style-type: lower-roman;\n}\n.markdown-body ol ol ol,\n.markdown-body ol ul ol,\n.markdown-body ul ol ol,\n.markdown-body ul ul ol {\n  list-style-type: lower-alpha;\n}\n.markdown-body dd {\n  margin-left: 0;\n}\n.markdown-body code,\n.markdown-body pre {\n  font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  font-size: 12px;\n}\n.markdown-body pre {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.markdown-body input::-webkit-inner-spin-button,\n.markdown-body input::-webkit-outer-spin-button {\n  margin: 0;\n  -webkit-appearance: none;\n  appearance: none;\n}\n.markdown-body :checked+.radio-label {\n  position: relative;\n  z-index: 1;\n  border-color: #0366d6;\n}\n.markdown-body .border {\n  border: 1px solid #e1e4e8!important;\n}\n.markdown-body .border-0 {\n  border: 0!important;\n}\n.markdown-body .border-bottom {\n  border-bottom: 1px solid #e1e4e8!important;\n}\n.markdown-body .rounded-1 {\n  border-radius: 3px!important;\n}\n.markdown-body .bg-white {\n  background-color: #fff!important;\n}\n.markdown-body .bg-gray-light {\n  background-color: #fafbfc!important;\n}\n.markdown-body .text-gray-light {\n  color: #6a737d!important;\n}\n.markdown-body .mb-0 {\n  margin-bottom: 0!important;\n}\n.markdown-body .my-2 {\n  margin-top: 8px!important;\n  margin-bottom: 8px!important;\n}\n.markdown-body .pl-0 {\n  padding-left: 0!important;\n}\n.markdown-body .py-0 {\n  padding-top: 0!important;\n  padding-bottom: 0!important;\n}\n.markdown-body .pl-1 {\n  padding-left: 4px!important;\n}\n.markdown-body .pl-2 {\n  padding-left: 8px!important;\n}\n.markdown-body .py-2 {\n  padding-top: 8px!important;\n  padding-bottom: 8px!important;\n}\n.markdown-body .pl-3,\n.markdown-body .px-3 {\n  padding-left: 16px!important;\n}\n.markdown-body .px-3 {\n  padding-right: 16px!important;\n}\n.markdown-body .pl-4 {\n  padding-left: 24px!important;\n}\n.markdown-body .pl-5 {\n  padding-left: 32px!important;\n}\n.markdown-body .pl-6 {\n  padding-left: 40px!important;\n}\n.markdown-body .f6 {\n  font-size: 12px!important;\n}\n.markdown-body .lh-condensed {\n  line-height: 1.25!important;\n}\n.markdown-body .text-bold {\n  font-weight: 600!important;\n}\n.markdown-body .pl-c {\n  color: #6a737d;\n}\n.markdown-body .pl-c1,\n.markdown-body .pl-s .pl-v {\n  color: #005cc5;\n}\n.markdown-body .pl-e,\n.markdown-body .pl-en {\n  color: #6f42c1;\n}\n.markdown-body .pl-s .pl-s1,\n.markdown-body .pl-smi {\n  color: #24292e;\n}\n.markdown-body .pl-ent {\n  color: #22863a;\n}\n.markdown-body .pl-k {\n  color: #d73a49;\n}\n.markdown-body .pl-pds,\n.markdown-body .pl-s,\n.markdown-body .pl-s .pl-pse .pl-s1,\n.markdown-body .pl-sr,\n.markdown-body .pl-sr .pl-cce,\n.markdown-body .pl-sr .pl-sra,\n.markdown-body .pl-sr .pl-sre {\n  color: #032f62;\n}\n.markdown-body .pl-smw,\n.markdown-body .pl-v {\n  color: #e36209;\n}\n.markdown-body .pl-bu {\n  color: #b31d28;\n}\n.markdown-body .pl-ii {\n  color: #fafbfc;\n  background-color: #b31d28;\n}\n.markdown-body .pl-c2 {\n  color: #fafbfc;\n  background-color: #d73a49;\n}\n.markdown-body .pl-c2:before {\n  content: \"^M\";\n}\n.markdown-body .pl-sr .pl-cce {\n  font-weight: 700;\n  color: #22863a;\n}\n.markdown-body .pl-ml {\n  color: #735c0f;\n}\n.markdown-body .pl-mh,\n.markdown-body .pl-mh .pl-en,\n.markdown-body .pl-ms {\n  font-weight: 700;\n  color: #005cc5;\n}\n.markdown-body .pl-mi {\n  font-style: italic;\n  color: #24292e;\n}\n.markdown-body .pl-mb {\n  font-weight: 700;\n  color: #24292e;\n}\n.markdown-body .pl-md {\n  color: #b31d28;\n  background-color: #ffeef0;\n}\n.markdown-body .pl-mi1 {\n  color: #22863a;\n  background-color: #f0fff4;\n}\n.markdown-body .pl-mc {\n  color: #e36209;\n  background-color: #ffebda;\n}\n.markdown-body .pl-mi2 {\n  color: #f6f8fa;\n  background-color: #005cc5;\n}\n.markdown-body .pl-mdr {\n  font-weight: 700;\n  color: #6f42c1;\n}\n.markdown-body .pl-ba {\n  color: #586069;\n}\n.markdown-body .pl-sg {\n  color: #959da5;\n}\n.markdown-body .pl-corl {\n  text-decoration: underline;\n  color: #032f62;\n}\n.markdown-body .mb-0 {\n  margin-bottom: 0!important;\n}\n.markdown-body .my-2 {\n  margin-bottom: 8px!important;\n}\n.markdown-body .my-2 {\n  margin-top: 8px!important;\n}\n.markdown-body .pl-0 {\n  padding-left: 0!important;\n}\n.markdown-body .py-0 {\n  padding-top: 0!important;\n  padding-bottom: 0!important;\n}\n.markdown-body .pl-1 {\n  padding-left: 4px!important;\n}\n.markdown-body .pl-2 {\n  padding-left: 8px!important;\n}\n.markdown-body .py-2 {\n  padding-top: 8px!important;\n  padding-bottom: 8px!important;\n}\n.markdown-body .pl-3 {\n  padding-left: 16px!important;\n}\n.markdown-body .pl-4 {\n  padding-left: 24px!important;\n}\n.markdown-body .pl-5 {\n  padding-left: 32px!important;\n}\n.markdown-body .pl-6 {\n  padding-left: 40px!important;\n}\n.markdown-body .pl-7 {\n  padding-left: 48px!important;\n}\n.markdown-body .pl-8 {\n  padding-left: 64px!important;\n}\n.markdown-body .pl-9 {\n  padding-left: 80px!important;\n}\n.markdown-body .pl-10 {\n  padding-left: 96px!important;\n}\n.markdown-body .pl-11 {\n  padding-left: 112px!important;\n}\n.markdown-body .pl-12 {\n  padding-left: 128px!important;\n}\n.markdown-body hr {\n  border-bottom-color: #eee;\n}\n.markdown-body kbd {\n  display: inline-block;\n  padding: 3px 5px;\n  font: 11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  line-height: 10px;\n  color: #444d56;\n  vertical-align: middle;\n  background-color: #fafbfc;\n  border: 1px solid #d1d5da;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 #d1d5da;\n}\n.markdown-body:after,\n.markdown-body:before {\n  display: table;\n  content: \"\";\n}\n.markdown-body:after {\n  clear: both;\n}\n.markdown-body>:first-child {\n  margin-top: 0!important;\n}\n.markdown-body>:last-child {\n  margin-bottom: 0!important;\n}\n.markdown-body a:not([href]) {\n  color: inherit;\n  text-decoration: none;\n}\n.markdown-body blockquote,\n.markdown-body details,\n.markdown-body dl,\n.markdown-body ol,\n.markdown-body p,\n.markdown-body pre,\n.markdown-body table,\n.markdown-body ul {\n  width:100%;\n  margin-top: 0;\n  margin-bottom: 16px;\n}\n.markdown-body hr {\n  height: .25em;\n  padding: 0;\n  margin: 24px 0;\n  background-color: #e1e4e8;\n  border: 0;\n}\n.markdown-body blockquote {\n  padding: 0 1em;\n  color: #6a737d;\n  border-left: .25em solid #dfe2e5;\n}\n.markdown-body blockquote>:first-child {\n  margin-top: 0;\n}\n.markdown-body blockquote>:last-child {\n  margin-bottom: 0;\n}\n.markdown-body h1,\n.markdown-body h2,\n.markdown-body h3,\n.markdown-body h4,\n.markdown-body h5,\n.markdown-body h6 {\n  margin-top: 24px;\n  margin-bottom: 16px;\n  font-weight: 600;\n  line-height: 1.25;\n}\n.markdown-body h1 {\n  font-size: 2em;\n}\n.markdown-body h1,\n.markdown-body h2 {\n  padding-bottom: .3em;\n  border-bottom: 1px solid #eaecef;\n}\n.markdown-body h2 {\n  font-size: 1.5em;\n}\n.markdown-body h3 {\n  font-size: 1.25em;\n}\n.markdown-body h4 {\n  font-size: 1em;\n}\n.markdown-body h5 {\n  font-size: .875em;\n}\n.markdown-body h6 {\n  font-size: .85em;\n  color: #6a737d;\n}\n.markdown-body ol,\n.markdown-body ul {\n  padding-left: 2em;\n}\n.markdown-body ol ol,\n.markdown-body ol ul,\n.markdown-body ul ol,\n.markdown-body ul ul {\n  margin-top: 0;\n  margin-bottom: 0;\n}\n.markdown-body li {\n  word-wrap: break-all;\n}\n.markdown-body li>p {\n  margin-top: 16px;\n}\n.markdown-body li+li {\n  margin-top: .25em;\n}\n.markdown-body dl {\n  padding: 0;\n}\n.markdown-body dl dt {\n  padding: 0;\n  margin-top: 16px;\n  font-size: 1em;\n  font-style: italic;\n  font-weight: 600;\n}\n.markdown-body dl dd {\n  padding: 0 16px;\n  margin-bottom: 16px;\n}\n.markdown-body table {\n  width: 100%;\n}\n.markdown-body table th {\n  font-weight: 600;\n}\n.markdown-body table td,\n.markdown-body table th {\n  padding: 6px 13px;\n  border: 1px solid #dfe2e5;\n}\n.markdown-body table tr {\n  background-color: #fff;\n  border-top: 1px solid #c6cbd1;\n}\n.markdown-body table tr:nth-child(2n) {\n  background-color: #f6f8fa;\n}\n.markdown-body img {\n  max-width: 100%;\n  box-sizing: initial;\n  background-color: #fff;\n}\n.markdown-body img[align=right] {\n  padding-left: 20px;\n}\n.markdown-body img[align=left] {\n  padding-right: 20px;\n}\n.markdown-body code {\n  padding: .2em .4em;\n  margin: 0;\n  font-size: 85%;\n  background-color: rgba(27,31,35,.05);\n  border-radius: 3px;\n}\n.markdown-body pre {\n  word-wrap: normal;\n}\n.markdown-body pre>code {\n  padding: 0;\n  margin: 0;\n  font-size: 100%;\n  word-break: normal;\n  white-space: pre;\n  background: transparent;\n  border: 0;\n}\n.markdown-body .highlight {\n  margin-bottom: 16px;\n}\n.markdown-body .highlight pre {\n  margin-bottom: 0;\n  word-break: normal;\n}\n.markdown-body .highlight pre,\n.markdown-body pre {\n  padding: 16px;\n  overflow: auto;\n  font-size: 85%;\n  line-height: 1.45;\n  background-color: #f6f8fa;\n  border-radius: 3px;\n}\n.markdown-body pre code {\n  display: inline;\n  max-width: auto;\n  padding: 0;\n  margin: 0;\n  overflow: visible;\n  line-height: inherit;\n  word-wrap: normal;\n  background-color: initial;\n  border: 0;\n}\n.markdown-body .commit-tease-sha {\n  display: inline-block;\n  font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  font-size: 90%;\n  color: #444d56;\n}\n.markdown-body .full-commit .btn-outline:not(:disabled):hover {\n  color: #005cc5;\n  border-color: #005cc5;\n}\n.markdown-body .blob-wrapper {\n  overflow-x: auto;\n  overflow-y: hidden;\n}\n.markdown-body .blob-wrapper-embedded {\n  max-height: 240px;\n  overflow-y: auto;\n}\n.markdown-body .blob-num {\n  width: 1%;\n  min-width: 50px;\n  padding-right: 10px;\n  padding-left: 10px;\n  font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  font-size: 12px;\n  line-height: 20px;\n  color: rgba(27,31,35,.3);\n  text-align: right;\n  white-space: nowrap;\n  vertical-align: top;\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.markdown-body .blob-num:hover {\n  color: rgba(27,31,35,.6);\n}\n.markdown-body .blob-num:before {\n  content: attr(data-line-number);\n}\n.markdown-body .blob-code {\n  position: relative;\n  padding-right: 10px;\n  padding-left: 10px;\n  line-height: 20px;\n  vertical-align: top;\n}\n.markdown-body .blob-code-inner {\n  overflow: visible;\n  font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;\n  font-size: 12px;\n  color: #24292e;\n  word-wrap: normal;\n  white-space: pre;\n}\n.markdown-body .pl-token.active,\n.markdown-body .pl-token:hover {\n  cursor: pointer;\n  background: #ffea7f;\n}\n.markdown-body .tab-size[data-tab-size=\"1\"] {\n  -moz-tab-size: 1;\n  tab-size: 1;\n}\n.markdown-body .tab-size[data-tab-size=\"2\"] {\n  -moz-tab-size: 2;\n  tab-size: 2;\n}\n.markdown-body .tab-size[data-tab-size=\"3\"] {\n  -moz-tab-size: 3;\n  tab-size: 3;\n}\n.markdown-body .tab-size[data-tab-size=\"4\"] {\n  -moz-tab-size: 4;\n  tab-size: 4;\n}\n.markdown-body .tab-size[data-tab-size=\"5\"] {\n  -moz-tab-size: 5;\n  tab-size: 5;\n}\n.markdown-body .tab-size[data-tab-size=\"6\"] {\n  -moz-tab-size: 6;\n  tab-size: 6;\n}\n.markdown-body .tab-size[data-tab-size=\"7\"] {\n  -moz-tab-size: 7;\n  tab-size: 7;\n}\n.markdown-body .tab-size[data-tab-size=\"8\"] {\n  -moz-tab-size: 8;\n  tab-size: 8;\n}\n.markdown-body .tab-size[data-tab-size=\"9\"] {\n  -moz-tab-size: 9;\n  tab-size: 9;\n}\n.markdown-body .tab-size[data-tab-size=\"10\"] {\n  -moz-tab-size: 10;\n  tab-size: 10;\n}\n.markdown-body .tab-size[data-tab-size=\"11\"] {\n  -moz-tab-size: 11;\n  tab-size: 11;\n}\n.markdown-body .tab-size[data-tab-size=\"12\"] {\n  -moz-tab-size: 12;\n  tab-size: 12;\n}\n.markdown-body .task-list-item {\n  list-style-type: none;\n}\n.markdown-body .task-list-item+.task-list-item {\n  margin-top: 3px;\n}\n.markdown-body .task-list-item input {\n  margin: 0 .2em .25em -1.6em;\n  vertical-align: middle;\n}\n.markdown-body .description {\n  margin: 0 .2em .25em -1.6em;\n  vertical-align: middle;\n}\n<\/style>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimal-ui\">\n    <title>TerosHDL<\/title>\n  <style>\n    body {\n      box-sizing: border-box;\n      min-width: 200px;\n      max-width: 1080px;\n      margin: 0 auto;\n      padding: 45px;\n    }\n  <\/style>\n  <\/head>\n  <body>\n  <article class=\"markdown-body\">\n<div id=\"teroshdl\" class='templateTerosHDL'>\n<a id=Divisor_Alg2><h1 id=\"entity-divisor_alg2\">Entity: Divisor_Alg2<\/h1><\/a><ul>\n<li><strong>File<\/strong>: Divisor_Alg3.sv<\/li>\n<\/ul><h2 id=\"diagram\">Diagram<\/h2><p><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.1\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xmlns:svgjs=\"http:\/\/svgjs.com\/svgjs\" viewBox=\"0 0 535 150\"><svg id=\"SvgjsSvg1002\" width=\"2\" height=\"0\" focusable=\"false\" style=\"overflow:hidden;top:-100%;left:-100%;position:absolute;opacity:0\"><polyline id=\"SvgjsPolyline1003\" points=\"175,0 190,0\"><\/polyline><path id=\"SvgjsPath1004\" d=\"M0 0 \"><\/path><\/svg><rect id=\"SvgjsRect1006\" width=\"170\" height=\"30\" fill=\"black\" x=\"190\" y=\"0\"><\/rect><rect id=\"SvgjsRect1007\" width=\"166\" height=\"25\" fill=\"#bdecb6\" x=\"192\" y=\"2\"><\/rect><text id=\"SvgjsText1008\" font-family=\"Helvetica\" x=\"170\" y=\"-5.698437500000001\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1009\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">    <\/tspan><\/text><text id=\"SvgjsText1010\" font-family=\"Helvetica\" x=\"205\" y=\"-5.698437500000001\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1011\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   tamanyo <\/tspan><\/text><line id=\"SvgjsLine1012\" x1=\"175\" y1=\"15\" x2=\"190\" y2=\"15\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><rect id=\"SvgjsRect1013\" width=\"170\" height=\"110\" fill=\"black\" x=\"190\" y=\"35\"><\/rect><rect id=\"SvgjsRect1014\" width=\"166\" height=\"105\" fill=\"#fdfd96\" x=\"192\" y=\"37\"><\/rect><text id=\"SvgjsText1015\" font-family=\"Helvetica\" x=\"170\" y=\"29.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1016\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">    <\/tspan><\/text><text id=\"SvgjsText1017\" font-family=\"Helvetica\" x=\"205\" y=\"29.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1018\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   CLK <\/tspan><\/text><line id=\"SvgjsLine1019\" x1=\"175\" y1=\"50\" x2=\"190\" y2=\"50\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1020\" font-family=\"Helvetica\" x=\"170\" y=\"49.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1021\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">    <\/tspan><\/text><text id=\"SvgjsText1022\" font-family=\"Helvetica\" x=\"205\" y=\"49.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1023\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   RSTa <\/tspan><\/text><line id=\"SvgjsLine1024\" x1=\"175\" y1=\"70\" x2=\"190\" y2=\"70\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1025\" font-family=\"Helvetica\" x=\"170\" y=\"69.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1026\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">    <\/tspan><\/text><text id=\"SvgjsText1027\" font-family=\"Helvetica\" x=\"205\" y=\"69.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1028\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Start <\/tspan><\/text><line id=\"SvgjsLine1029\" x1=\"175\" y1=\"90\" x2=\"190\" y2=\"90\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1030\" font-family=\"Helvetica\" x=\"170\" y=\"89.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1031\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">   [tamanyo-1:0] <\/tspan><\/text><text id=\"SvgjsText1032\" font-family=\"Helvetica\" x=\"205\" y=\"89.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1033\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Num <\/tspan><\/text><line id=\"SvgjsLine1034\" x1=\"175\" y1=\"110\" x2=\"190\" y2=\"110\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1035\" font-family=\"Helvetica\" x=\"170\" y=\"109.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1036\" dy=\"26\" x=\"170\" svgjs:data=\"{&quot;newLined&quot;:true}\">   [tamanyo-1:0] <\/tspan><\/text><text id=\"SvgjsText1037\" font-family=\"Helvetica\" x=\"205\" y=\"109.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1038\" dy=\"26\" x=\"205\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Den <\/tspan><\/text><line id=\"SvgjsLine1039\" x1=\"175\" y1=\"130\" x2=\"190\" y2=\"130\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1040\" font-family=\"Helvetica\" x=\"380\" y=\"29.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1041\" dy=\"26\" x=\"380\" svgjs:data=\"{&quot;newLined&quot;:true}\">   [tamanyo-1:0] <\/tspan><\/text><text id=\"SvgjsText1042\" font-family=\"Helvetica\" x=\"345\" y=\"29.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1043\" dy=\"26\" x=\"345\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Coc <\/tspan><\/text><line id=\"SvgjsLine1044\" x1=\"360\" y1=\"50\" x2=\"375\" y2=\"50\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1045\" font-family=\"Helvetica\" x=\"380\" y=\"49.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1046\" dy=\"26\" x=\"380\" svgjs:data=\"{&quot;newLined&quot;:true}\">   [tamanyo-1:0] <\/tspan><\/text><text id=\"SvgjsText1047\" font-family=\"Helvetica\" x=\"345\" y=\"49.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1048\" dy=\"26\" x=\"345\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Res <\/tspan><\/text><line id=\"SvgjsLine1049\" x1=\"360\" y1=\"70\" x2=\"375\" y2=\"70\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><text id=\"SvgjsText1050\" font-family=\"Helvetica\" x=\"380\" y=\"69.3015625\" font-size=\"20\" text-anchor=\"start\" family=\"Helvetica\" size=\"20\" anchor=\"start\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1051\" dy=\"26\" x=\"380\" svgjs:data=\"{&quot;newLined&quot;:true}\">    <\/tspan><\/text><text id=\"SvgjsText1052\" font-family=\"Helvetica\" x=\"345\" y=\"69.3015625\" font-size=\"20\" text-anchor=\"end\" family=\"Helvetica\" size=\"20\" anchor=\"end\" svgjs:data=\"{&quot;leading&quot;:&quot;1.3&quot;}\"><tspan id=\"SvgjsTspan1053\" dy=\"26\" x=\"345\" svgjs:data=\"{&quot;newLined&quot;:true}\">   Done <\/tspan><\/text><line id=\"SvgjsLine1054\" x1=\"360\" y1=\"90\" x2=\"375\" y2=\"90\" stroke-linecap=\"rec\" stroke=\"black\" stroke-width=\"5\"><\/line><\/svg><\/p><h2 id=\"generics\">Generics<\/h2>\n<table>\n<thead>\n<tr>\n<th id=\"generic_name\">Generic name<\/th>\n<th id=\"type\">Type<\/th>\n<th id=\"value\">Value<\/th>\n<th id=\"description\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>tamanyo<\/td>\n<td><\/td>\n<td>32<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"ports\">Ports<\/h2>\n<table>\n<thead>\n<tr>\n<th id=\"port_name\">Port name<\/th>\n<th id=\"direction\">Direction<\/th>\n<th id=\"type\">Type<\/th>\n<th id=\"description\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>CLK<\/td>\n<td>input<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>RSTa<\/td>\n<td>input<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Start<\/td>\n<td>input<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Num<\/td>\n<td>input<\/td>\n<td>[tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Den<\/td>\n<td>input<\/td>\n<td>[tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Coc<\/td>\n<td>output<\/td>\n<td>[tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Res<\/td>\n<td>output<\/td>\n<td>[tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Done<\/td>\n<td>output<\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table><h2 id=\"signals\">Signals<\/h2>\n<table>\n<thead>\n<tr>\n<th id=\"name\">Name<\/th>\n<th id=\"type\">Type<\/th>\n<th id=\"description\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>state1<\/td>\n<td>enum  logic [2:0] {<br><span style=\"padding-left:20px\">D0,<br><span style=\"padding-left:20px\"> D1,<br><span style=\"padding-left:20px\">D2,<br><span style=\"padding-left:20px\">D3}<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>ACCU<\/td>\n<td>logic [tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>M<\/td>\n<td>logic [tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Q<\/td>\n<td>logic [tamanyo-1:0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>SignNum<\/td>\n<td>logic<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>SignDen<\/td>\n<td>logic<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>CONT<\/td>\n<td>logic [size_cont-1 :0]<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>fin<\/td>\n<td>logic<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"constants\">Constants<\/h2>\n<table>\n<thead>\n<tr>\n<th id=\"name\">Name<\/th>\n<th id=\"type\">Type<\/th>\n<th id=\"value\">Value<\/th>\n<th id=\"description\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>size_cont<\/td>\n<td><\/td>\n<td>$clog2(tamanyo-1)<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table><h2 id=\"processes\">Processes<\/h2><ul>\n<li>unnamed: ( @(posedge CLK or negedge RSTa) )<\/li>\n<\/ul><div id=\"descriptions\"><p><strong>Type:<\/strong> always_ff<\/p><\/div><h2 id=\"state-machines\">State machines<\/h2><div><div id=\"state_machine\"><?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-\/\/W3C\/\/DTD SVG 1.1\/\/EN\"\n \"http:\/\/www.w3.org\/Graphics\/SVG\/1.1\/DTD\/svg11.dtd\">\n<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n -->\n<!-- Title: state transitions Pages: 1 -->\n<svg width=\"235pt\" height=\"352pt\"\n viewBox=\"0.00 0.00 235.00 352.00\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 348)\">\n<title>state transitions<\/title>\n<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-348 231,-348 231,4 -4,4\"\/>\n<g id=\"clust1\" class=\"cluster state regular\">\n<title>cluster_state1<\/title>\n<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" d=\"M20,-8C20,-8 207,-8 207,-8 213,-8 219,-14 219,-20 219,-20 219,-324 219,-324 219,-330 213,-336 207,-336 207,-336 20,-336 20,-336 14,-336 8,-330 8,-324 8,-324 8,-20 8,-20 8,-14 14,-8 20,-8\"\/>\n<text text-anchor=\"start\" x=\"97.159\" y=\"-317.2\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\" fill=\"#000000\">state1<\/text>\n<\/g>\n<!-- state1 -->\n<!-- D0 -->\n<g id=\"node2\" class=\"node state regular\">\n<title>D0<\/title>\n<polygon fill=\"#ffffff\" fill-opacity=\"0.003922\" stroke=\"transparent\" stroke-width=\"2\" points=\"127,-298 71,-298 71,-262 127,-262 127,-298\"\/>\n<text text-anchor=\"start\" x=\"91.3332\" y=\"-276.2\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\" fill=\"#000000\">D0<\/text>\n<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" d=\"M83.3333,-263C83.3333,-263 114.6667,-263 114.6667,-263 120.3333,-263 126,-268.6667 126,-274.3333 126,-274.3333 126,-285.6667 126,-285.6667 126,-291.3333 120.3333,-297 114.6667,-297 114.6667,-297 83.3333,-297 83.3333,-297 77.6667,-297 72,-291.3333 72,-285.6667 72,-285.6667 72,-274.3333 72,-274.3333 72,-268.6667 77.6667,-263 83.3333,-263\"\/>\n<\/g>\n<!-- D0&#45;&gt;D0 -->\n<g id=\"edge2\" class=\"edge transition\">\n<title>D0&#45;&gt;D0<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M127.0183,-284.8247C138.888,-285.1883 149,-283.5801 149,-280 149,-277.5387 144.2205,-276.0094 137.3762,-275.4121\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"137.0957,-271.9049 127.0183,-275.1753 136.9356,-278.903 137.0957,-271.9049\"\/>\n<text text-anchor=\"middle\" x=\"150.3895\" y=\"-277\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\"> <\/text>\n<\/g>\n<!-- D1 -->\n<g id=\"node3\" class=\"node state regular\">\n<title>D1<\/title>\n<polygon fill=\"#ffffff\" fill-opacity=\"0.003922\" stroke=\"transparent\" stroke-width=\"2\" points=\"113,-216 57,-216 57,-180 113,-180 113,-216\"\/>\n<text text-anchor=\"start\" x=\"77.3332\" y=\"-194.2\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\" fill=\"#000000\">D1<\/text>\n<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" d=\"M69.3333,-181C69.3333,-181 100.6667,-181 100.6667,-181 106.3333,-181 112,-186.6667 112,-192.3333 112,-192.3333 112,-203.6667 112,-203.6667 112,-209.3333 106.3333,-215 100.6667,-215 100.6667,-215 69.3333,-215 69.3333,-215 63.6667,-215 58,-209.3333 58,-203.6667 58,-203.6667 58,-192.3333 58,-192.3333 58,-186.6667 63.6667,-181 69.3333,-181\"\/>\n<\/g>\n<!-- D0&#45;&gt;D1 -->\n<g id=\"edge1\" class=\"edge transition\">\n<title>D0&#45;&gt;D1<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M95.8929,-261.8015C94.0985,-251.2915 91.8037,-237.8503 89.7835,-226.0177\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"93.2315,-225.4159 88.0984,-216.1476 86.3313,-226.594 93.2315,-225.4159\"\/>\n<text text-anchor=\"start\" x=\"92\" y=\"-236\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\">Start &#160;&#160;<\/text>\n<\/g>\n<!-- D2 -->\n<g id=\"node4\" class=\"node state regular\">\n<title>D2<\/title>\n<polygon fill=\"#ffffff\" fill-opacity=\"0.003922\" stroke=\"transparent\" stroke-width=\"2\" points=\"113,-134 57,-134 57,-98 113,-98 113,-134\"\/>\n<text text-anchor=\"start\" x=\"77.3332\" y=\"-112.2\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\" fill=\"#000000\">D2<\/text>\n<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" d=\"M69.3333,-99C69.3333,-99 100.6667,-99 100.6667,-99 106.3333,-99 112,-104.6667 112,-110.3333 112,-110.3333 112,-121.6667 112,-121.6667 112,-127.3333 106.3333,-133 100.6667,-133 100.6667,-133 69.3333,-133 69.3333,-133 63.6667,-133 58,-127.3333 58,-121.6667 58,-121.6667 58,-110.3333 58,-110.3333 58,-104.6667 63.6667,-99 69.3333,-99\"\/>\n<\/g>\n<!-- D1&#45;&gt;D2 -->\n<g id=\"edge3\" class=\"edge transition\">\n<title>D1&#45;&gt;D2<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M65.5598,-179.9819C61.3465,-174.9374 57.4795,-169.1399 55.221,-163 52.6532,-156.0193 54.3241,-148.9859 57.9163,-142.563\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"60.8802,-144.4333 63.7879,-134.2452 55.1615,-140.3964 60.8802,-144.4333\"\/>\n<text text-anchor=\"middle\" x=\"56.3895\" y=\"-154\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\"> <\/text>\n<\/g>\n<!-- D2&#45;&gt;D1 -->\n<g id=\"edge5\" class=\"edge transition\">\n<title>D2&#45;&gt;D1<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M85,-134.1476C85,-144.5421 85,-157.816 85,-169.5658\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"81.5001,-169.8015 85,-179.8015 88.5001,-169.8016 81.5001,-169.8015\"\/>\n<text text-anchor=\"start\" x=\"85\" y=\"-154\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\">not (CONT==&#39;0) &#160;&#160;<\/text>\n<\/g>\n<!-- D3 -->\n<g id=\"node5\" class=\"node state regular\">\n<title>D3<\/title>\n<polygon fill=\"#ffffff\" fill-opacity=\"0.003922\" stroke=\"transparent\" stroke-width=\"2\" points=\"162,-52 106,-52 106,-16 162,-16 162,-52\"\/>\n<text text-anchor=\"start\" x=\"126.3332\" y=\"-30.2\" font-family=\"Helvetica,sans-Serif\" font-size=\"12.00\" fill=\"#000000\">D3<\/text>\n<path fill=\"none\" stroke=\"#000000\" stroke-width=\"2\" d=\"M118.3333,-17C118.3333,-17 149.6667,-17 149.6667,-17 155.3333,-17 161,-22.6667 161,-28.3333 161,-28.3333 161,-39.6667 161,-39.6667 161,-45.3333 155.3333,-51 149.6667,-51 149.6667,-51 118.3333,-51 118.3333,-51 112.6667,-51 107,-45.3333 107,-39.6667 107,-39.6667 107,-28.3333 107,-28.3333 107,-22.6667 112.6667,-17 118.3333,-17\"\/>\n<\/g>\n<!-- D2&#45;&gt;D3 -->\n<g id=\"edge4\" class=\"edge transition\">\n<title>D2&#45;&gt;D3<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M95.8747,-97.8015C102.3454,-86.973 110.6754,-73.033 117.8978,-60.9466\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"121.0306,-62.5271 123.1557,-52.1476 115.0217,-58.9364 121.0306,-62.5271\"\/>\n<text text-anchor=\"start\" x=\"112\" y=\"-72\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\">CONT==&#39;0 &#160;&#160;<\/text>\n<\/g>\n<!-- D3&#45;&gt;D0 -->\n<g id=\"edge6\" class=\"edge transition\">\n<title>D3&#45;&gt;D0<\/title>\n<path fill=\"none\" stroke=\"#000000\" d=\"M162.3987,-38.1281C183.2671,-42.9558 208,-53.2627 208,-75 208,-239 208,-239 208,-239 208,-254.5983 168.4011,-266.2882 136.9388,-273.1145\"\/>\n<polygon fill=\"#000000\" stroke=\"#000000\" points=\"136.1524,-269.703 127.0702,-275.1587 137.5723,-276.5575 136.1524,-269.703\"\/>\n<text text-anchor=\"middle\" x=\"209.3895\" y=\"-154\" font-family=\"Helvetica,sans-Serif\" font-size=\"10.00\" fill=\"#000000\"> <\/text>\n<\/g>\n<\/g>\n<\/svg>\n<\/div><\/div><br><br><br><br><br><br>\n    <\/article class=\"markdown-body\">\n    <\/body>\n\n\n\n<h2 class=\"wp-block-heading\">Comportamiento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El comportamiento es el mostrado en el siguiente cronograma<\/p>\n\n\n<style>\n       .errordiv { padding:10px; margin:10px; border: 1px solid #555555;color: #000000;background-color: #f8f8f8; width:500px; }#advanced_iframe {visibility:visible;opacity:1;vertical-align:top;}.ai-info-bottom-iframe { position: fixed; z-index: 10000; bottom:0; left: 0; margin: 0px; text-align: center; width: 100%; background-color: #ff9999; padding-left: 5px;padding-bottom: 5px; border-top: 1px solid #aaa } a.ai-bold {font-weight: bold;}#ai-layer-div-advanced_iframe p {height:100%;margin:0;padding:0}<\/style><script type=\"text\/javascript\">var ai_iframe_width_advanced_iframe = 0;var ai_iframe_height_advanced_iframe = 0;function aiReceiveMessageadvanced_iframe(event) {  aiProcessMessage(event,\"advanced_iframe\", \"true\",\"\",\"false\",\"false\");}if (window.addEventListener) {  window.addEventListener(\"message\", aiReceiveMessageadvanced_iframe);} else if (el.attachEvent)  {  el.attachEvent(\"message\", aiReceiveMessageadvanced_iframe);}var aiOnloadScrollTop=\"true\";var aiShowDebug=false;\n\t\tif (typeof aiReadyCallbacks === 'undefined') {\n\t\t\tvar aiReadyCallbacks = [];\n\t\t} else if (!(aiReadyCallbacks instanceof Array)) {\n\t\t\tvar aiReadyCallbacks = [];\n\t\t}    function aiShowIframeId(id_iframe) { jQuery(\"#\"+id_iframe).css(\"visibility\", \"visible\");    }    function aiResizeIframeHeight(height) { aiResizeIframeHeight(height,advanced_iframe); }    function aiResizeIframeHeightId(height,width,id) {aiResizeIframeHeightById(id,height);}<\/script><iframe id=\"advanced_iframe\"  name=\"advanced_iframe\"  src=\"https:\/\/drom.io\/vcd\/?github=ralfgad\/simulaciones_vcd\/main\/comportamiento.vcd\"  width=\"100%\"  height=\"600\"  frameborder=\"0\"  border=\"0\"  allowtransparency=\"true\"  loading=\"lazy\"  style=\";border-width: 0px;;border: none;;width:100%;;height:600px;\" ><\/iframe><script type=\"text\/javascript\">var ifrm_advanced_iframe = document.getElementById(\"advanced_iframe\");var hiddenTabsDoneadvanced_iframe = false;\nfunction resizeCallbackadvanced_iframe() {}<\/script><script type=\"text\/javascript\"><\/script><p style=\"display:block !important; visibility:visible !important;margin: -18px 14px 0 0;padding-left: 3px;padding-top:3px;background: white; overflow: hidden; position: relative; line-height:15px;width: fit-content;\"><small style=\"display:block !important;visibility:visible !important\">powered by Advanced iFrame<\/small><\/p>\n\n\n<h2 class=\"wp-block-heading\">Procedimientos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En esta sesi\u00f3n nos vamos a conformar en la realizaci\u00f3n del dise\u00f1o y del proyecto del systemverilog assistant donde importaremos dicho fichero para realizar en las siguientes sesiones la verificaci\u00f3n<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dise\u00f1o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para la realizaci\u00f3n del dise\u00f1o seguid las pautas del siguiente video en el cual el algoritmo realizado es un radicador. Con este procedimiento agilizaremos el dise\u00f1o aunque no se vislumbre claramente los elementos del control-path y del data-path; pero tambi\u00e9n es importante que sep\u00e1is hacer ese traslado directo de ASM a systemVerilog.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"ASM con un solo fichero |  | UPV\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/vfAn2e7o-Xc?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\">Creacion del proyecto<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Objetivos: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nuestro principal objetivo es la generaci\u00f3n del proyecto de banco de pruebas basado en metodolog\u00eda UVM (Universal Verification Methodology)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esquema<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arranque de la herramienta asistente<\/li>\n\n\n\n<li>Creaci\u00f3n del proyecto<\/li>\n\n\n\n<li>Importaci\u00f3n de ficheros existentes (pertenecientes al dise\u00f1o a verificar)<\/li>\n<\/ul>\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-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"UVM: radicador 1 | 31\/34 | UPV\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/H8P20mXNfuc?start=8&#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\">Creaci\u00f3n del top<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En el siguiente v\u00eddeo vamos a proponer el siguiente esquema<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estructura del top propuesta<\/li>\n\n\n\n<li>Generaci\u00f3n del interfaz<\/li>\n\n\n\n<li>Modificaci\u00f3n del interfaz<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"UVM: radicador 2 | 30\/34 | UPV\" width=\"960\" height=\"540\" src=\"https:\/\/www.youtube.com\/embed\/fFVSigCBIYk?start=7&#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\">Como punto de partida del interfaz y del encapsulamiento del DUT en el mismo os adjunto los ficheros correspondientes al ejemplo descrito en los v\u00eddeos. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-daaf2cb3-6c87-46ee-b096-0c08f542f1fb\">INTERFAZ<\/h4>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:verilog decode:true \">`timescale 1ns\/1ps\ninterface test_if (  input  bit  reloj,   input  bit  rst) ;\n  logic       empieza  ;\n  logic       termina  ;\n  logic [7:0] data_in  ;\n  logic  [4:0] data_out;\n\n  clocking md @(posedge reloj);\n\tinput #1ns data_out;\n\tinput #1ns data_in;\n\tinput #1ns empieza;\n    input #1ns termina;\n   endclocking:md;\n\n  clocking sd @(posedge reloj);\n    input #2ns  data_out;\n    output #2ns data_in;\n    input #2ns  termina;\n    output #2ns empieza; \n  endclocking:sd;\n\n  modport monitor (clocking md);\n  modport test (clocking sd);\n  modport duv (\n  \t\tinput          \treloj      ,\n  \t\tinput        \trst      ,\n  \t\toutput          termina  ,\n  \t\tinput         \tempieza   ,\n  \t\tinput  \t        data_in  ,\n  \t\toutput          data_out\n\t\t);\n\nendinterface<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-493cc913-5b51-462f-aece-d3152afa1c74\">Este ejemplo de interfaz utiliza tres \u00abmod ports\u00bb : dos de ellos para proporcionar dos puntos de vista que debe usar el test: control (color violeta) y observabilidad (color granate); y un tercer punto de vista que utilizar\u00e1 el DUT (color azul en la figura)<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"block-d1dd6b86-e047-453b-8240-0f20a1e34677\"><img decoding=\"async\" src=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2020\/11\/image.png\" alt=\"This image has an empty alt attribute; its file name is image.png\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-cff2006f-a347-473c-a4a3-f6c39448e286\">.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"block-6f96f71b-ee75-441c-9b8e-75eccdc5a7ff\">Los dos modos que usar\u00e1 el baco de pruebas UVM tienen asociados sus correspondientes \u00abclocking blocks\u00bb para sincronizar esas comunicaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La pregunta ahora ser\u00eda: \u00bfc\u00f3mo hacemos el interfaz para el divisor teniendo en cuenta que tenemos no solo un operando de entrada sino dos (Numerador y Denominador), y no solo un resultado sino dos (Cociente y Resto)?<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"> Conexi\u00f3n DUT al interfaz<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">El framework de UVM del SystemVerilog tiende a realizar las conexiones de DUT con el interfaz de una manera espec\u00edfica. Yo os he propuesto en el v\u00eddeo realizar primero un encapsulamiento de vuestro DUT en un nivel jer\u00e1quico superior (que llamaremos top_dut o top_duv) . Mirad el ejemplo de c\u00f3mo lo hacemos con el top del radicador.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:verilog decode:true \">module top_duv (interfaz_radicador bus) ; \n\n\nsed  radicador_duv(\n  .CLK   (bus.clk),     \/\/ Clock input\n.RESET  (bus.rst),     \/\/ Active LOW ASINCRONOUS reset\n.X      (bus.data_in), \/\/ Data input\n.COUNT     (bus.data_out),\/\/ Data Output\n.START    (bus.empieza),   \/\/ duv empieza\n .FIN    (bus.termina)     \/\/duv termina\n);\n\nendmodule<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Igualmente partiendo de este ejemplo: \u00bfc\u00f3mo hariais el caso del divisor?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Seguimiento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ser\u00eda ideal para empezar la segunda sesi\u00f3n (jueves 16 de junio) que teng\u00e1is un fichero systemverilog escrito del dise\u00f1o a verificar, las herramientas perfectamente intaladas y el proyecto del asistente preparado. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En segundo t\u00e9rmino deber\u00edas ya haber escrito tu interfaz, haber adaptado tu DUT al mismo y haber creado el top mediante el framework utilizado de forma que nos quede una visualizaci\u00f3n de la misma como la que se adjunta en la siguiente figura<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"523\" height=\"646\" src=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/06\/image.png\" alt=\"\" class=\"wp-image-1344\" srcset=\"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/06\/image.png 523w, https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2022\/06\/image-243x300.png 243w\" sizes=\"auto, (max-width: 523px) 100vw, 523px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Instrucciones iniciales Dise\u00f1o a verificar Vamos a verificar un divisor algor\u00edtmico. El c\u00f3digo ASM es el que se adjunta en la siguiente figura Os adjunto informaci\u00f3n de c\u00f3mo deber\u00edan denominarse los puertos y de entrada y salida. Es muy importante respetar este tipo de nombres sobre todo si se quiere reusar un banco de pruebas previo. TerosHDL Entity: Divisor_Alg2 File: Divisor_Alg3.sv Diagram tamanyo CLK RSTa Start [tamanyo-1:0] Num [tamanyo-1:0] Den [tamanyo-1:0] Coc [tamanyo-1:0] Res Done Generics Generic name Type Value Description tamanyo 32 Ports Port name Direction Type Description CLK input RSTa input Start input Num input [tamanyo-1:0] Den input [tamanyo-1:0] Coc output [tamanyo-1:0] Res output [tamanyo-1:0] Done output Signals Name Type Description state1 enum logic [2:0] {D0, D1,D2,D3} ACCU logic [tamanyo-1:0] M logic [tamanyo-1:0] Q logic [tamanyo-1:0] SignNum logic SignDen logic CONT logic [size_cont-1 :0] fin logic Constants Name Type Value Description size_cont $clog2(tamanyo-1) Processes unnamed: ( @(posedge CLK or negedge RSTa) ) Type: always_ff State machines state transitions cluster_state1 state1 D0 D0 D0&#45;&gt;D0 D1 D1 D0&#45;&gt;D1 Start &#160;&#160; D2 D2 D1&#45;&gt;D2 D2&#45;&gt;D1 not (CONT==&#39;0) &#160;&#160; D3 D3 D2&#45;&gt;D3 CONT==&#39;0 &#160;&#160; D3&#45;&gt;D0 Comportamiento El comportamiento es el mostrado en el siguiente cronograma Procedimientos En esta sesi\u00f3n nos vamos a conformar en la realizaci\u00f3n del dise\u00f1o y del proyecto del systemverilog assistant donde importaremos dicho fichero para realizar en las siguientes sesiones la verificaci\u00f3n Dise\u00f1o Para la realizaci\u00f3n del dise\u00f1o seguid las pautas del siguiente video en el cual el algoritmo realizado es un radicador. Con este procedimiento agilizaremos el dise\u00f1o aunque no se vislumbre claramente los elementos del control-path y del data-path; pero tambi\u00e9n es importante que sep\u00e1is hacer ese traslado directo de ASM a systemVerilog. Creacion del proyecto Objetivos: Esquema Creaci\u00f3n del top En el siguiente v\u00eddeo vamos a proponer el siguiente esquema Como punto de partida del interfaz y del encapsulamiento del DUT en el mismo os adjunto los ficheros correspondientes al ejemplo descrito en los v\u00eddeos. INTERFAZ Este ejemplo de interfaz utiliza tres \u00abmod ports\u00bb : dos de ellos para proporcionar dos puntos de vista que debe usar el test: control (color violeta) y observabilidad (color granate); y un tercer punto de vista que utilizar\u00e1 el DUT (color azul en la figura) . Los dos modos que usar\u00e1 el baco de pruebas UVM tienen asociados sus correspondientes \u00abclocking blocks\u00bb para sincronizar esas comunicaciones. La pregunta ahora ser\u00eda: \u00bfc\u00f3mo hacemos el interfaz para el divisor teniendo en cuenta que tenemos no solo un operando de entrada sino dos (Numerador y Denominador), y no solo un resultado sino dos (Cociente y Resto)? Conexi\u00f3n DUT al interfaz El framework de UVM del SystemVerilog tiende a realizar las conexiones de DUT con el interfaz de una manera espec\u00edfica. Yo os he propuesto en el v\u00eddeo realizar primero un encapsulamiento de vuestro DUT en un nivel jer\u00e1quico superior (que llamaremos top_dut o top_duv) . Mirad el ejemplo de c\u00f3mo lo hacemos con el top del radicador. Igualmente partiendo de este ejemplo: \u00bfc\u00f3mo hariais el caso del divisor? Seguimiento Ser\u00eda ideal para empezar la segunda sesi\u00f3n (jueves 16 de junio) que teng\u00e1is un fichero systemverilog escrito del dise\u00f1o a verificar, las herramientas perfectamente intaladas y el proyecto del asistente preparado. En segundo t\u00e9rmino deber\u00edas ya haber escrito tu interfaz, haber adaptado tu DUT al mismo y haber creado el top mediante el framework utilizado de forma que nos quede una visualizaci\u00f3n de la misma como la que se adjunta en la siguiente figura<\/p>\n","protected":false},"author":2,"featured_media":546,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","ub_ctt_via":"","footnotes":""},"categories":[63],"tags":[],"class_list":["post-1313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales"],"featured_image_src":"https:\/\/dsd.webs.upv.es\/wp-content\/uploads\/2020\/11\/image.png","author_info":{"display_name":"ralfgad","author_link":"https:\/\/dsd.webs.upv.es\/?author=2"},"_links":{"self":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/1313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=1313"}],"version-history":[{"count":20,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/1313\/revisions"}],"predecessor-version":[{"id":1625,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/posts\/1313\/revisions\/1625"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/media\/546"}],"wp:attachment":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}