operaciones matemáticas – Susana Canel. Curso de VHDL https://susycursos.com Curso visual de VHDL y de Quartus II. Apuntes de electrónica. Thu, 02 May 2019 02:06:42 +0000 es-AR hourly 1 https://wordpress.org/?v=6.8.3 /wp-content/uploads/2018/03/cropped-Logo3-2.jpg operaciones matemáticas – Susana Canel. Curso de VHDL https://susycursos.com 32 32 Lección 3.V18. Sumador-restador. /2018/08/26/leccion-3-v18-sumador-restador/ /2018/08/26/leccion-3-v18-sumador-restador/#respond Sun, 26 Aug 2018 05:16:55 +0000 /?p=457 Continuá leyendo Lección 3.V18. Sumador-restador.]]> Descripción VHDL de un sumador-restador genérico de números enteros de N bits. Uso el package numeric_std porque voy a usar operaciones matemáticas, uso datos tipos signed, definidos en ese package. Para que sea genérico defino en generic la constante N que representa la cantidad de bits de los operandos. Uso operaciones lógicas y analizo la precedencia de operandos y la necesidad de usar paréntesis. Genero el indicador de desborde (overflow). Te muestro el circuito esquemático generado por la herramienta Netlist Viewer, opción RTL Viewer. Finalmente muestro la simulación. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. /blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  /contactame/

]]>
/2018/08/26/leccion-3-v18-sumador-restador/feed/ 0
Lección 3.V17. Multiplicador de enteros. /2018/08/25/leccion-3-v17-multiplicador-de-enteros/ /2018/08/25/leccion-3-v17-multiplicador-de-enteros/#respond Sat, 25 Aug 2018 05:46:48 +0000 /?p=447 Continuá leyendo Lección 3.V17. Multiplicador de enteros.]]> Descripción VHDL de un multiplicador genérico de números enteros de N bits. Uso el package numeric_std para poder realizar la operación multiplicación usando un multiplicador embebido del cual dispone la FPGA Cyclone II. Realizo un cambio de tipo de datos para poder realizar la multiplicación. Uso datos tipo  signed ya que los datos del enunciado son números enteros. Muestro en el RTL Viewer cómo la operación multiplicación se la representa a través de un multiplicador embebido. Finalmente vemos en la simulación el correcto funcionamiento. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. /blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  /contactame/

]]>
/2018/08/25/leccion-3-v17-multiplicador-de-enteros/feed/ 0
Lección 3.V16. Sumador binario genérico. /2018/08/24/leccion-3-v16-sumador-binario-generico/ /2018/08/24/leccion-3-v16-sumador-binario-generico/#respond Fri, 24 Aug 2018 05:04:32 +0000 /?p=439 Continuá leyendo Lección 3.V16. Sumador binario genérico.]]> Descripción y simulación de un sumador binario genérico de magnitudes de N bits. Uso el package numeric_std para cambiar el tipo de datos a unsigned para así de poder realizar la suma. Recuerdo que no existe el casting de un std_logic a unsigned, hay que transformarlo en un std_logic_vector de un solo elemento. Cambio el largo de un vector concatenándole un ‘0’ adelante. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. /blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  /contactame/

]]>
/2018/08/24/leccion-3-v16-sumador-binario-generico/feed/ 0
Lección 3.V13. Comparador genérico. /2018/08/23/leccion-3-video-13-descripcion-de-un-comparador-generico-de-numeros-enteros/ /2018/08/23/leccion-3-video-13-descripcion-de-un-comparador-generico-de-numeros-enteros/#respond Thu, 23 Aug 2018 05:10:18 +0000 /?p=427 Continuá leyendo Lección 3.V13. Comparador genérico.]]> En este video te muestro la descripción de un comparador genérico de números enteros de N bits. En la entidad uso generic para darle un valor por omisión a la cantidad N de bits. Incluyo el package numeric_std porque necesito usar datos de tipo signed para realizar las comparaciones. Para finalizar realizo la simulación. Puedes ver el código en mi post Lección 3. VHDL por comportamiento. /blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  /contactame/

]]>
/2018/08/23/leccion-3-video-13-descripcion-de-un-comparador-generico-de-numeros-enteros/feed/ 0
Lección 2.V12. BCD binario a Aiken. /2018/08/23/leccion-2-video-12-descripcion-y-simulacion-de-un-conversor-de-codigo-bcd-binario-natural-a-bcd-aiken/ /2018/08/23/leccion-2-video-12-descripcion-y-simulacion-de-un-conversor-de-codigo-bcd-binario-natural-a-bcd-aiken/#respond Thu, 23 Aug 2018 03:51:41 +0000 /?p=422 Continuá leyendo Lección 2.V12. BCD binario a Aiken.]]> En este video te describo un conversor de código BCD binario natural a código BCD Aiken, usando operaciones aritméticas que no están permitidas para el tipo de datos std_logic y std_logic_vector, motivo por el cual tengo que usar el package numeric_std del IEEE. Este package incluye nuevos tipos de datos, entre ellos unsigned. Haciendo conversión de datos soluciono el problema. Primero cometo adrede un error para que veas cómo te avisa el compilador que no puede hacer operaciones aritméticas con el tipo de datos std_logic_vector. Una vez corregido, lo vuelvo a compilar y finalmente simulo para comprobar el correcto comportamiento. También te muestro dónde se encuentran los package en la instalación de Altera, en particular los dos que hemos usado:

std_logic_1164    y     numeric_std

Los abro para mostrarte parte del contenido, por ejemplo los tipos de datos que usamos en esta descripción. Puedes ver el código en mi post Lección 2. VHDL por comportamiento. /blog/page/6/. A través de “contactame” puedes pedirme que te envíe los archivos de texto con las descripciones para que los puedas probar y el tutorial del Quartus II, que hice.  /contactame/

]]>
/2018/08/23/leccion-2-video-12-descripcion-y-simulacion-de-un-conversor-de-codigo-bcd-binario-natural-a-bcd-aiken/feed/ 0