{"id":147,"date":"2019-08-15T16:50:59","date_gmt":"2019-08-15T16:50:59","guid":{"rendered":"http:\/\/dsd.webs.upv.es\/?page_id=147"},"modified":"2025-08-06T16:36:35","modified_gmt":"2025-08-06T16:36:35","slug":"simulacion-de-arrays","status":"publish","type":"page","link":"https:\/\/dsd.webs.upv.es\/?page_id=147","title":{"rendered":"Simulaci\u00f3n de Arrays"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar os incluyo un v\u00eddeo para que pod\u00e1is ver los diferentes tipos de arrays disponibles en systemverilog trabajando con una herramienta de verificaci\u00f3n.  Es importante para que veais las diferentes caracter\u00edsticas de estos tipos de arrays y los mecanismos de visualizaci\u00f3n diferentes que aporta questasim para los mismos<\/p>\n\n\n\n<iframe loading=\"lazy\" allowfullscreen=\"\" src=\"https:\/\/media.upv.es\/player\/embed.html?id=d3dd6220-8a40-11e6-a5d4-6b776c476489\" style=\"border:0px #FFFFFF none;\" name=\"Paella Player\" scrolling=\"no\" frameborder=\"0\" marginheight=\"0px\" marginwidth=\"0px\" width=\"640\" height=\"360\"> <\/iframe>\n\n\n\n<p class=\"wp-block-paragraph\">Si deseamos ver una simulaci\u00f3n del funcionamiento de las colas podemos fijarnos el siguiente v\u00eddeo que simula el c\u00f3digo que se adjunta a continuaci\u00f3n.<\/p>\n\n\n\n<iframe loading=\"lazy\" allowfullscreen=\"\" src=\"https:\/\/media.upv.es\/player\/embed.html?id=e88ffa10-c577-11e8-85bc-5bc83fa995d1\" style=\"border:0px #FFFFFF none;\" name=\"Paella Player\" scrolling=\"no\" frameborder=\"0\" marginheight=\"0px\" marginwidth=\"0px\" width=\"640\" height=\"360\"> <\/iframe>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: systemverilog; title: ; notranslate\" title=\"\">\n`timescale 1 ns\/ 1 ps\n \nmodule pruebas;\n  \n  logic &#x5B;3:0] a ,b,c;\n  logic clk;\n  logic &#x5B;3:0] cola &#x5B;$];\n  logic &#x5B;3:0] cola_limited &#x5B;$:3];\n  int tamanyo;\n  int tamanyo_limited;\n  \n  initial\n  begin\n  @(posedge clk) a=1;\n  $display(&quot;empezamos a escribir elementos por la derecha en ambas colas&quot;);\n  cola_limited.push_back(a);\n  cola.push_back(a);\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);\n  @(posedge clk) a=2;\n  cola_limited.push_back(a);\n  cola.push_back(a);\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);\n  @(posedge clk) a=3;\n  $display(&quot;empezamos a escribir elementos por la izquierda en ambas colas&quot;);   \n  cola_limited.push_front(a);\n  cola.push_front(a);\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);\n  @(posedge clk) a=4;\n  cola_limited.push_front(a);\n  cola.push_front(a);\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size(); \n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);\n  @(posedge clk) a=5;\n  cola_limited.push_back(a);\n  cola.push_back(a);\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);  \n  @(posedge clk) ;\n  $display(&quot;empezamos a leer elementos de cola1 por la izquierda&quot;);  \n  $display(&quot;empezamos a leer elementos de cola2 por la derecha&quot;);\n  b=cola_limited.pop_back();\n  c=cola.pop_front();\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited); \n  @(posedge clk) ;\n  b=cola_limited.pop_back();\n  c=cola.pop_front();\n  tamanyo_limited=cola_limited.size();\n  tamanyo=cola.size();\n  $display(&quot;cola1=&quot;,cola);\n    $display(&quot;cola2=&quot;,cola_limited);      \nend\ninitial\nbegin\n  clk=0;\nforever #50 clk=~clk;\nend\nendmodule\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>En primer lugar os incluyo un v\u00eddeo para que pod\u00e1is ver los diferentes tipos de arrays disponibles en systemverilog trabajando con una herramienta de verificaci\u00f3n. Es importante para que veais las diferentes caracter\u00edsticas de estos tipos de arrays y los mecanismos de visualizaci\u00f3n diferentes que aporta questasim para los mismos Si deseamos ver una simulaci\u00f3n del funcionamiento de las colas podemos fijarnos el siguiente v\u00eddeo que simula el c\u00f3digo que se adjunta a continuaci\u00f3n.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":59,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","ub_ctt_via":"","footnotes":""},"class_list":["post-147","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\/147","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":11,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/147\/revisions"}],"predecessor-version":[{"id":1845,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/147\/revisions\/1845"}],"up":[{"embeddable":true,"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=\/wp\/v2\/pages\/59"}],"wp:attachment":[{"href":"https:\/\/dsd.webs.upv.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}