SlideShare una empresa de Scribd logo
1 de 11
-1061085-747395<br /> S.E.P.                 S.E.S.         D.G.E.S.T.<br />INSTITUTO TECNOLOGICO DE LA PIEDAD<br />1er. SIMPOSIUM<br />REPORTE DEL TALLER VHDL<br />POR:<br />MIGUEL ALEJANDRO GUZMAN MENDEZ<br />INTRODUCCION<br />Como introducción a este curso podemos decir que  primero aprenderemos las bases o lo más básico del lenguaje vhdl el cual se usa para programar los famosos fpgas.<br />Así como aprender a manejar los fpgas entre algunas otras cosas se harán programas para irnos metiendo en este ambiente.<br />Marco teórico<br />Los estudios para la creación del lenguaje VHDL (VHSIC HDL)<br />comenzaron en el año 1981, bajo la cobertura de un programa para el desarrollo de Circuitos Integrados de Muy Alta Velocidad (VHSIC), del Departamento de Defensa de los Estados Unidos. En 1983 las compañías Intermetrics, IBM y Texas Instruments obtuvieron la concesión de un proyecto para la realización del lenguaje y de un conjunto de herramientas auxiliares para su aplicación.<br />Finalmente, en el año 1987, el lenguaje VHDL se convierte en la norma IEEE-1076 –como todas las normas IEEE, se somete a revisión periódica, por lo que en 1993 sufrió algunas leves modificaciones–.<br />3.- Características del lenguaje<br />El lenguaje VHDL fue creado con el propósito de especificar y documentar circuitos y sistemas digitales utilizando un lenguaje formal. En la práctica se ha convertido, en un gran número de entornos de CAD, en el HDL de referencia para realizar modelos sintetizables automáticamente. Las principales características<br />del lenguaje VHDL se explican en los siguientes puntos:<br />• Descripción textual normalizada: El lenguaje VHDL es un lenguaje de descripción que especifica los circuitos electrónicos en un formato adecuado para ser interpretado tanto por máquinas como por personas. Se trata además de un lenguaje formal, es decir, no resulta ambiguo a la hora de expresar el comportamiento o representar la estructura de un circuito. Está, como ya se<br />ha dicho, normalizado, o sea, existe un único modelo para el lenguaje, cuya utilización está abierta a cualquier grupo que quiera desarrollar herramientas basadas en dicho modelo, garantizando su compatibilidad con cualquier otra herramienta que respete las indicaciones especificadas en la norma oficial.<br />Es, por último, un lenguaje ejecutable, lo que permite que la descripción textual del hardware se materialice en una representación del mismo utilizable por herramientas auxiliares tales como simuladores y sintetizadores lógicos, compiladores de silicio, simuladores de tiempo, de cobertura de fallos,<br />herramientas de diseño físico, etc.<br />• Amplio rango de capacidad descriptiva: El lenguaje VHDL posibilita la descripción del hardware con distintos niveles de abstracción, pudiendo adaptarse a distintos propósitos y utilizarse en las sucesivas fases que se dan en el desarrollo de los diseños. Además es un lenguaje adaptable a distintas metodologías de diseño y es independiente de la tecnología, lo que permite,<br />en el primer caso, cubrir el tipo de necesidades de los distintos géneros de instituciones, compañías y organizaciones relacionadas con el mundo de la electrónica digital; y, en el segundo, facilita la actualización y adaptación de los diseños a los avances de la tecnología en cada momento.<br />• Otras ventajas: Además de las ventajas ya reseñadas también es destacable la capacidad del lenguaje para el manejo de proyectos de grandes dimensiones, las garantías que comporta su uso cuando, durante el ciclo de mantenimiento del proyecto, hay que sustituir componentes o realizar modificaciones en los circuitos, y el hecho de que, para muchas organizaciones contratantes, sea parte indispensable de la documentación de los sistemas.<br />Materiales<br />Se usaron los siguientes materiales <br />67246555245<br />396240770890Tarjeta basys 2 del proveedor digilent (como hardware).<br />3587115154305<br /> <br />Y el sw ISE del proveedor xilinx. Y el sw ADEPT<br />Desarrollo de la práctica<br />Para empezar con esta practica cada alumno deberá tener instalado el sw ya mencionado en su PC portátil.<br />A cada grupo de alumnos se le hará entrega de una tarjeta BASYS 2 con las cuales se demostraran las prácticas.<br />Primero se procedió a crear algunos programas en este lenguaje tales como un sumador restador los cuales su código fuente  se muestra a continuación.<br />LIBRARY ieee;<br />USE ieee.std_logic_1164.ALL;<br />USE ieee.std_logic_signed.all;<br />USE ieee.numeric_std.ALL;<br /> <br />ENTITY sum_res_tb IS<br />END sum_res_tb ;<br /> <br />ARCHITECTURE test OF sum_res_tb IS <br /> <br />    -- Component Declaration for the Unit Under Test (UUT)<br /> <br />    COMPONENT sum_res_beh_cs <br />    PORT(a : IN  std_logic_vector(3 downto 0);<br />         b : IN  std_logic_vector(3 downto 0);<br />         c : OUT  std_logic_vector(4 downto 0);<br />         s_r : std_logic);<br />    END COMPONENT;<br />   --Inputs<br />   signal a : std_logic_vector(3 downto 0) := (others => '0');<br />   signal b : std_logic_vector(3 downto 0) := (others => '0');<br />   signal s_r : std_logic;<br />   --Outputs<br />   signal c : std_logic_vector(4 downto 0);<br /> BEGIN<br />    -- Instantiate the Unit Under Test (UUT)<br />   uut: sum_res_beh_cs PORT MAP (a => a, b => b, c => c, s_r => s_r);<br /> <br />   b <= quot;
0001quot;
 after 100 ns, quot;
0010quot;
 after 200 ns, quot;
1011quot;
 after 300 ns;<br />   a <= quot;
1010quot;
 after 100 ns, quot;
0011quot;
 after 200 ns, quot;
1111quot;
 after 300 ns;<br />   s_r <= '0', '1' after 400 ns;<br />END test;<br />Este código se guarda con una extensión .vhd y aun falta mas ya que necesitamos otro código para la asignación de pines en la tarjeta ya que el código .vhd solo es el programa pero ahora nos falta decirle a la tarjeta donde  y como actuar ese código se guarda con una extensión .ucf y es el siguiente<br /># entrada operando a (switches, bits 3 a 0)  <br />                                                                                                                      <br /> NET quot;
a<0>quot;
     LOC = quot;
P38quot;
; # Bank = 2, Pin name = IP,                  Sch name = SW0<br /> NET quot;
a<1>quot;
     LOC = quot;
P36quot;
; # Bank = 3, Pin name = IP,                  Sch name = SW1<br /> NET quot;
a<2>quot;
     LOC = quot;
P29quot;
; # Bank = 3, Pin name = IO(3S100E)/IP(3S250E),Sch name = SW2<br /> NET quot;
a<3>quot;
     LOC = quot;
P24quot;
; # Bank = 3, Pin name = IP                   Sch name = SW3<br /># entrada operando b (switches, bits 7 a 4)                                                                                                                                                                                                                                                <br /> NET quot;
b<0>quot;
     LOC = quot;
P18quot;
; # Bank = 3, Pin name = IP,                  Sch name = SW4<br /> NET quot;
b<1>quot;
     LOC = quot;
P12quot;
; # Bank = 3, Pin name = IP/VREF_3,           Sch name = SW5<br /> NET quot;
b<2>quot;
     LOC = quot;
P10quot;
; # Bank = 3, Pin name = IO(3S100E)/IP(3S250E),Sch name = SW6<br /> NET quot;
b<3>quot;
     LOC = quot;
P6quot;
;  # Bank = 3, Pin name = IP,                  Sch name = SW7<br /># salida resultado c                                                                                                                      <br /> NET quot;
c<0>quot;
    LOC = quot;
P15quot;
; # Bank = 3, Pin name = IO_L4N_3/GCLK21      Sch name = LD0<br /> NET quot;
c<1>quot;
    LOC = quot;
P14quot;
; # Bank = 3, Pin name = IO_L4P_3/GCLK20      Sch name = LD1<br /> NET quot;
c<2>quot;
    LOC = quot;
P8quot;
;  # Bank = 3, Pin name = IO_L3N_3,            Sch name = LD2<br /> NET quot;
c<3>quot;
    LOC = quot;
P7quot;
;  # Bank = 3, Pin name = IO_L3P_3,            Sch name = LD3<br /> NET quot;
c<4>quot;
    LOC = quot;
P5quot;
;  # Bank = 3, Pin name = IO_L2N_3/VREF_3,     Sch name = LD4<br /># Selección  (botón 0)<br />                                                                                                                        <br /> NET quot;
s_rquot;
    LOC = quot;
P69quot;
; # Bank = 2, Pin name = IP,                   Sch name = BTN0<br />Estos 2 archivos son seleccionados en el programa ISE de esta forma como se muestra en la imagen …<br />Se da click en agregar fuente y ahí se agregan estos 2 archivos después ya podremos echar a andar estos programas pero antes debemos ver que no haya errores el programa mismo los detectara y te dirá donde están los errores.tendras que dar 2 click en el botón síntesis y después en el botón implement design y si esta tu programa correcto pues puedes dar 2 click en el botón generar archivo de programación.<br />Para saber si estás bien se tendrá que ver una ventana como la siguiente imagen<br />Deberá aparecer una palomita para indicar que tu programa esta bien  elaborado<br />1015365652145Después de ver que el programa no marca errores damos click en generar el archivo de programación lo que nos dara un archivo .bit este archivo es el que meteremos a nuestra tarjeta por medio de un sw llamado  adept mostrado la siguiente imagen.<br />El cual detectara a la tarjeta y por medio de este sw meteremos nuestro programa a la tarjeta. Depues apagamos y prendemos la tarjeta y ¡¡ listo!!<br />Conclusión<br />Para terminar esta práctica y como conclusión se puede decir que durante este curso aprendimos mucho mas acerca de las bases de este lenguaje así como a manejar un fpga y la estructura utilizada en estos lenguajes ya que todo el curso fue muy práctico y fue dado de una manera muy básica.<br />
Curso
Curso
Curso
Curso
Curso
Curso
Curso
Curso
Curso
Curso

Más contenido relacionado

Destacado (8)

Lattice
LatticeLattice
Lattice
 
Kaedah lattice
Kaedah latticeKaedah lattice
Kaedah lattice
 
Curso programación FANUC
Curso programación FANUCCurso programación FANUC
Curso programación FANUC
 
Máquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDLMáquinas de Estado Finito en VHDL
Máquinas de Estado Finito en VHDL
 
Robótica y programación Kuka
Robótica y programación KukaRobótica y programación Kuka
Robótica y programación Kuka
 
Máquinas de Estado
Máquinas de EstadoMáquinas de Estado
Máquinas de Estado
 
Taller Arduino espacio-RES 2ª Sesion
Taller Arduino espacio-RES 2ª SesionTaller Arduino espacio-RES 2ª Sesion
Taller Arduino espacio-RES 2ª Sesion
 
Iniciación a Arduino
Iniciación a ArduinoIniciación a Arduino
Iniciación a Arduino
 

Similar a Curso

Practica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfPractica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfAngelSanchezZarco
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxJulianSimonetta
 
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2Victor Asanza
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Arduino: programación básica de Arduino
Arduino: programación básica de ArduinoArduino: programación básica de Arduino
Arduino: programación básica de ArduinoSANTIAGO PABLO ALBERTO
 
Curso de arduino basico 1ra edicion saenz flores misael
Curso de arduino basico 1ra edicion   saenz flores misaelCurso de arduino basico 1ra edicion   saenz flores misael
Curso de arduino basico 1ra edicion saenz flores misaelDesk SOS
 

Similar a Curso (20)

Practica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdfPractica Dispositivo IoT.pdf
Practica Dispositivo IoT.pdf
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptxclase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 2
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Arduino: programación básica de Arduino
Arduino: programación básica de ArduinoArduino: programación básica de Arduino
Arduino: programación básica de Arduino
 
Curso de arduino basico 1ra edicion saenz flores misael
Curso de arduino basico 1ra edicion   saenz flores misaelCurso de arduino basico 1ra edicion   saenz flores misael
Curso de arduino basico 1ra edicion saenz flores misael
 
Proyecto de arduino
Proyecto de arduinoProyecto de arduino
Proyecto de arduino
 
Informe tecnología
Informe tecnologíaInforme tecnología
Informe tecnología
 
Lab2 bluetooth.docx
Lab2 bluetooth.docxLab2 bluetooth.docx
Lab2 bluetooth.docx
 

Más de guestdb8ea2b

Ieee el instituto de mayor membresia mundial
Ieee el instituto de mayor membresia mundialIeee el instituto de mayor membresia mundial
Ieee el instituto de mayor membresia mundialguestdb8ea2b
 
Motores y generadores de corriente directa
Motores y generadores de corriente directaMotores y generadores de corriente directa
Motores y generadores de corriente directaguestdb8ea2b
 
2do reporte (analisis de motores en el laboratorio)
2do reporte (analisis de motores en el laboratorio)2do reporte (analisis de motores en el laboratorio)
2do reporte (analisis de motores en el laboratorio)guestdb8ea2b
 
Reporte Transformador Hecho Por Nosotros
Reporte Transformador Hecho Por NosotrosReporte Transformador Hecho Por Nosotros
Reporte Transformador Hecho Por Nosotrosguestdb8ea2b
 
Reporte Transformador
Reporte TransformadorReporte Transformador
Reporte Transformadorguestdb8ea2b
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlabguestdb8ea2b
 

Más de guestdb8ea2b (13)

Inversores
InversoresInversores
Inversores
 
Ieee el instituto de mayor membresia mundial
Ieee el instituto de mayor membresia mundialIeee el instituto de mayor membresia mundial
Ieee el instituto de mayor membresia mundial
 
Inversores
InversoresInversores
Inversores
 
Motores y generadores de corriente directa
Motores y generadores de corriente directaMotores y generadores de corriente directa
Motores y generadores de corriente directa
 
2do reporte (analisis de motores en el laboratorio)
2do reporte (analisis de motores en el laboratorio)2do reporte (analisis de motores en el laboratorio)
2do reporte (analisis de motores en el laboratorio)
 
Pwm
PwmPwm
Pwm
 
Reporte Transformador Hecho Por Nosotros
Reporte Transformador Hecho Por NosotrosReporte Transformador Hecho Por Nosotros
Reporte Transformador Hecho Por Nosotros
 
Reporte Transformador
Reporte TransformadorReporte Transformador
Reporte Transformador
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
 
1er Reporte Par T
1er Reporte Par T1er Reporte Par T
1er Reporte Par T
 
Reporte
ReporteReporte
Reporte
 
André
AndréAndré
André
 
André
AndréAndré
André
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Curso

  • 1. -1061085-747395<br /> S.E.P. S.E.S. D.G.E.S.T.<br />INSTITUTO TECNOLOGICO DE LA PIEDAD<br />1er. SIMPOSIUM<br />REPORTE DEL TALLER VHDL<br />POR:<br />MIGUEL ALEJANDRO GUZMAN MENDEZ<br />INTRODUCCION<br />Como introducción a este curso podemos decir que primero aprenderemos las bases o lo más básico del lenguaje vhdl el cual se usa para programar los famosos fpgas.<br />Así como aprender a manejar los fpgas entre algunas otras cosas se harán programas para irnos metiendo en este ambiente.<br />Marco teórico<br />Los estudios para la creación del lenguaje VHDL (VHSIC HDL)<br />comenzaron en el año 1981, bajo la cobertura de un programa para el desarrollo de Circuitos Integrados de Muy Alta Velocidad (VHSIC), del Departamento de Defensa de los Estados Unidos. En 1983 las compañías Intermetrics, IBM y Texas Instruments obtuvieron la concesión de un proyecto para la realización del lenguaje y de un conjunto de herramientas auxiliares para su aplicación.<br />Finalmente, en el año 1987, el lenguaje VHDL se convierte en la norma IEEE-1076 –como todas las normas IEEE, se somete a revisión periódica, por lo que en 1993 sufrió algunas leves modificaciones–.<br />3.- Características del lenguaje<br />El lenguaje VHDL fue creado con el propósito de especificar y documentar circuitos y sistemas digitales utilizando un lenguaje formal. En la práctica se ha convertido, en un gran número de entornos de CAD, en el HDL de referencia para realizar modelos sintetizables automáticamente. Las principales características<br />del lenguaje VHDL se explican en los siguientes puntos:<br />• Descripción textual normalizada: El lenguaje VHDL es un lenguaje de descripción que especifica los circuitos electrónicos en un formato adecuado para ser interpretado tanto por máquinas como por personas. Se trata además de un lenguaje formal, es decir, no resulta ambiguo a la hora de expresar el comportamiento o representar la estructura de un circuito. Está, como ya se<br />ha dicho, normalizado, o sea, existe un único modelo para el lenguaje, cuya utilización está abierta a cualquier grupo que quiera desarrollar herramientas basadas en dicho modelo, garantizando su compatibilidad con cualquier otra herramienta que respete las indicaciones especificadas en la norma oficial.<br />Es, por último, un lenguaje ejecutable, lo que permite que la descripción textual del hardware se materialice en una representación del mismo utilizable por herramientas auxiliares tales como simuladores y sintetizadores lógicos, compiladores de silicio, simuladores de tiempo, de cobertura de fallos,<br />herramientas de diseño físico, etc.<br />• Amplio rango de capacidad descriptiva: El lenguaje VHDL posibilita la descripción del hardware con distintos niveles de abstracción, pudiendo adaptarse a distintos propósitos y utilizarse en las sucesivas fases que se dan en el desarrollo de los diseños. Además es un lenguaje adaptable a distintas metodologías de diseño y es independiente de la tecnología, lo que permite,<br />en el primer caso, cubrir el tipo de necesidades de los distintos géneros de instituciones, compañías y organizaciones relacionadas con el mundo de la electrónica digital; y, en el segundo, facilita la actualización y adaptación de los diseños a los avances de la tecnología en cada momento.<br />• Otras ventajas: Además de las ventajas ya reseñadas también es destacable la capacidad del lenguaje para el manejo de proyectos de grandes dimensiones, las garantías que comporta su uso cuando, durante el ciclo de mantenimiento del proyecto, hay que sustituir componentes o realizar modificaciones en los circuitos, y el hecho de que, para muchas organizaciones contratantes, sea parte indispensable de la documentación de los sistemas.<br />Materiales<br />Se usaron los siguientes materiales <br />67246555245<br />396240770890Tarjeta basys 2 del proveedor digilent (como hardware).<br />3587115154305<br /> <br />Y el sw ISE del proveedor xilinx. Y el sw ADEPT<br />Desarrollo de la práctica<br />Para empezar con esta practica cada alumno deberá tener instalado el sw ya mencionado en su PC portátil.<br />A cada grupo de alumnos se le hará entrega de una tarjeta BASYS 2 con las cuales se demostraran las prácticas.<br />Primero se procedió a crear algunos programas en este lenguaje tales como un sumador restador los cuales su código fuente se muestra a continuación.<br />LIBRARY ieee;<br />USE ieee.std_logic_1164.ALL;<br />USE ieee.std_logic_signed.all;<br />USE ieee.numeric_std.ALL;<br /> <br />ENTITY sum_res_tb IS<br />END sum_res_tb ;<br /> <br />ARCHITECTURE test OF sum_res_tb IS <br /> <br /> -- Component Declaration for the Unit Under Test (UUT)<br /> <br /> COMPONENT sum_res_beh_cs <br /> PORT(a : IN std_logic_vector(3 downto 0);<br /> b : IN std_logic_vector(3 downto 0);<br /> c : OUT std_logic_vector(4 downto 0);<br /> s_r : std_logic);<br /> END COMPONENT;<br /> --Inputs<br /> signal a : std_logic_vector(3 downto 0) := (others => '0');<br /> signal b : std_logic_vector(3 downto 0) := (others => '0');<br /> signal s_r : std_logic;<br /> --Outputs<br /> signal c : std_logic_vector(4 downto 0);<br /> BEGIN<br /> -- Instantiate the Unit Under Test (UUT)<br /> uut: sum_res_beh_cs PORT MAP (a => a, b => b, c => c, s_r => s_r);<br /> <br /> b <= quot; 0001quot; after 100 ns, quot; 0010quot; after 200 ns, quot; 1011quot; after 300 ns;<br /> a <= quot; 1010quot; after 100 ns, quot; 0011quot; after 200 ns, quot; 1111quot; after 300 ns;<br /> s_r <= '0', '1' after 400 ns;<br />END test;<br />Este código se guarda con una extensión .vhd y aun falta mas ya que necesitamos otro código para la asignación de pines en la tarjeta ya que el código .vhd solo es el programa pero ahora nos falta decirle a la tarjeta donde y como actuar ese código se guarda con una extensión .ucf y es el siguiente<br /># entrada operando a (switches, bits 3 a 0) <br /> <br /> NET quot; a<0>quot; LOC = quot; P38quot; ; # Bank = 2, Pin name = IP, Sch name = SW0<br /> NET quot; a<1>quot; LOC = quot; P36quot; ; # Bank = 3, Pin name = IP, Sch name = SW1<br /> NET quot; a<2>quot; LOC = quot; P29quot; ; # Bank = 3, Pin name = IO(3S100E)/IP(3S250E),Sch name = SW2<br /> NET quot; a<3>quot; LOC = quot; P24quot; ; # Bank = 3, Pin name = IP Sch name = SW3<br /># entrada operando b (switches, bits 7 a 4) <br /> NET quot; b<0>quot; LOC = quot; P18quot; ; # Bank = 3, Pin name = IP, Sch name = SW4<br /> NET quot; b<1>quot; LOC = quot; P12quot; ; # Bank = 3, Pin name = IP/VREF_3, Sch name = SW5<br /> NET quot; b<2>quot; LOC = quot; P10quot; ; # Bank = 3, Pin name = IO(3S100E)/IP(3S250E),Sch name = SW6<br /> NET quot; b<3>quot; LOC = quot; P6quot; ; # Bank = 3, Pin name = IP, Sch name = SW7<br /># salida resultado c <br /> NET quot; c<0>quot; LOC = quot; P15quot; ; # Bank = 3, Pin name = IO_L4N_3/GCLK21 Sch name = LD0<br /> NET quot; c<1>quot; LOC = quot; P14quot; ; # Bank = 3, Pin name = IO_L4P_3/GCLK20 Sch name = LD1<br /> NET quot; c<2>quot; LOC = quot; P8quot; ; # Bank = 3, Pin name = IO_L3N_3, Sch name = LD2<br /> NET quot; c<3>quot; LOC = quot; P7quot; ; # Bank = 3, Pin name = IO_L3P_3, Sch name = LD3<br /> NET quot; c<4>quot; LOC = quot; P5quot; ; # Bank = 3, Pin name = IO_L2N_3/VREF_3, Sch name = LD4<br /># Selección (botón 0)<br /> <br /> NET quot; s_rquot; LOC = quot; P69quot; ; # Bank = 2, Pin name = IP, Sch name = BTN0<br />Estos 2 archivos son seleccionados en el programa ISE de esta forma como se muestra en la imagen …<br />Se da click en agregar fuente y ahí se agregan estos 2 archivos después ya podremos echar a andar estos programas pero antes debemos ver que no haya errores el programa mismo los detectara y te dirá donde están los errores.tendras que dar 2 click en el botón síntesis y después en el botón implement design y si esta tu programa correcto pues puedes dar 2 click en el botón generar archivo de programación.<br />Para saber si estás bien se tendrá que ver una ventana como la siguiente imagen<br />Deberá aparecer una palomita para indicar que tu programa esta bien elaborado<br />1015365652145Después de ver que el programa no marca errores damos click en generar el archivo de programación lo que nos dara un archivo .bit este archivo es el que meteremos a nuestra tarjeta por medio de un sw llamado adept mostrado la siguiente imagen.<br />El cual detectara a la tarjeta y por medio de este sw meteremos nuestro programa a la tarjeta. Depues apagamos y prendemos la tarjeta y ¡¡ listo!!<br />Conclusión<br />Para terminar esta práctica y como conclusión se puede decir que durante este curso aprendimos mucho mas acerca de las bases de este lenguaje así como a manejar un fpga y la estructura utilizada en estos lenguajes ya que todo el curso fue muy práctico y fue dado de una manera muy básica.<br />