1 / 224

Programación de sistemas reconfigurables

I7268. Programación de sistemas reconfigurables. DEPARTAMENTO DE ELECTRÓNICA DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIRÍAS UNIVERSIDAD DE GUADALAJARA. Temas del día. Introducción a los lenguajes HDL Sintaxis de VHDL Estructura Variables

wei
Download Presentation

Programación de sistemas reconfigurables

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I7268 Programación de sistemas reconfigurables M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx DEPARTAMENTO DE ELECTRÓNICA DIVISIÓN DE ELECTRÓNICA Y COMPUTACIÓN CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIRÍAS UNIVERSIDAD DE GUADALAJARA

  2. Temas del día • Introducción a los lenguajes HDL • Sintaxis de VHDL • Estructura • Variables • Modelos de programación • Estructuras de control • Sintaxis de Verilog. • Estructura • Variables • Modelos de programación • Estructuras de control. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  3. Lecturas recomendadas • CircuitDesignwith VHDL • Volnei A. Pedroni • MIT Press • Fundamentals of Digital Logicwith VHDL Design. • Stephen Brown • ZvonkoVranesic • McGrawHill • Thirdedition M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  4. Temas del día • Introducción a los lenguajes HDL • Sintaxis de VHDL • Estructura • Variables • Modelos de programación • Estructuras de control • Sintaxis de Verilog. • Estructura • Variables • Modelos de programación • Estructuras de control. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  5. Introducción a los lenguajes HDL • Es cualquier lenguaje de una clase de lenguajes utilizado en la descripción y diseño formal de circuitos electrónicos y mas comúnmente de lógica digital. • HDL (Hardware DescriptionLanguage) Lenguaje que describe Hardware M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Hardware_description_language.html

  6. Introducción a los lenguajes HDL • AHDL • ABEL • AHPL • Bluespec • ELLA • HHDL • Hydra • ParC • JHDL • KARL • Lava • Lola • MyHDL • PALASM • PSHDL • RHDL • THDL++ • VHDL • Verilog M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Hardware_description_language.html

  7. Introducción a los lenguajes HDL Verilog • Segundo más común • Mas fácil de enseñar • Estándar IEEE VHDL • Más común • Más formal • Estándar IEEE M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Hardware_description_language.html

  8. Introducción a los lenguajes HDL Xilinx vs Altera M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.altera.com/cgi-bin/device_compare.pl

  9. Introducción a los lenguajes HDL Altera M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.altera.com/cgi-bin/device_compare.pl

  10. Introducción a los lenguajes HDL Altera M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.altera.com/cgi-bin/device_compare.pl

  11. Introducción a los lenguajes HDL Xilinx M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.xilinx.com/products/silicon-devices/fpga/

  12. Introducción a los lenguajes HDL Xilinx M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.altera.com/cgi-bin/device_compare.pl

  13. Introducción a los lenguajes HDL Aplicaciones M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.lemote.com/en/products/cpu/2010/0310/114.html

  14. Introducción a los lenguajes HDL Aplicaciones M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx http://www.lemote.com/en/products/cpu/2010/0310/114.html

  15. Introducción a los lenguajes HDL Dispositivos reprogramables M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  16. Temas del día • Introducción a los lenguajes HDL • Sintaxis de VHDL • Estructura • Variables • Modelos de programación • Estructuras de control • Sintaxis de Verilog. • Estructura • Variables • Modelos de programación • Estructuras de control. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  17. VHDL - VHSIC Hardware DescriptionLanguage VHSIC – Very High SpeedIntegratedCircuit M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Diagrama de la estructura de un archivo de VHDL

  18. VHDL - VHSIC Hardware DescriptionLanguage Modelos de programación (formas de programar) M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  19. VHDL - VHSIC Hardware DescriptionLanguage Modelos de programación (formas de programar) M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Implementación

  20. VHDL - VHSIC Hardware DescriptionLanguage VHSIC – Very High SpeedIntegratedCircuit M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Diagrama de la estructura de un archivo de VHDL

  21. VHDL - Entidad Ejemplo de un diagrama lógico M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx La entidad define la cantidad y tipo de entradas que tendrá el sistema digital. ¿Cuántas entradas y salidas tiene el diagrama?

  22. VHDL - Entidad Ejemplo de un entidad Entity Entidad_TACO is port ( a: instd_logic; b: instd_logic; f: out std_logic ); End Entidad_TACO; M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx ?

  23. VHDL - VHSIC Hardware DescriptionLanguage VHSIC – Very High SpeedIntegratedCircuit M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Diagrama de la estructura de un archivo de VHDL

  24. VHDL - Bibliotecas ¿std_logic? M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  25. Señales lógicas M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  26. Señales lógicas M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Fig1. Rangos de valores de una señal lógica

  27. Señales lógicas M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Fig 2. Rangos de valores de una señal lógica en valores de voltaje.

  28. VHDL - Bibliotecas ¿std_logic? Las bibliotecas contienen definiciones y elementosútiles en el diseño de sistemas digitales por software. Como los valores lógicos necesarios para comunicar a un sistema digital. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  29. VHDL - Bibliotecas Ejemplo de una biblioteca común en VHDL. Libraryieee; Useieee.std_logic_1164.all; Declaración de las representaciones de valores lógicos Ejemplo: std_logic M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx 'Z' - alta impedancia. 'W' - señal débil 0 o 1. 'L' - señal débil 0. 'H' -señal débil 1. '-' -no importa. 'U' - valor sin inicializar. 'X' - desconocido. '0' - 0 lógico. '1' -1 lógico. Ver

  30. VHDL - Bibliotecas Bit 0,1 Nibble4 bits (0000-1111) ,(0-15) , (0-F) Byte 8 bits (00000000-11111111),(0-255) MSB LSB 8 M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx MSB LSB 5 Ver

  31. VHDL - Bibliotecas Library ieee; Use ieee.std_logic_1164.all; Ejemplo:std_logic ¿Cuál es el máximo valor en binario que puede representar una entrada o salida std_logic? M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Respuesta: 1 Ver

  32. VHDL - Entidad Ejemplo de un entidad Entity Entidad_TACO is port ( a: instd_logic; b: instd_logic; f: out std_logic ); End Entidad_TACO; M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx ?

  33. VHDL - Bibliotecas Library ieee; Use ieee.std_logic_1164.all; Ejemplo:std_logic ¿Cómo puedo representar una nibble de información utilizando std_logic? M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Respuesta: con otro elemento de la biblioteca std_logic_vector Ver

  34. VHDL - Bibliotecas MSB LSB 8 M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Ver

  35. VHDL - Bibliotecas LSB MSB 5 M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Ver

  36. VHDL - Bibliotecas+entidad: ejemplo Entradas: botones, contactos, sensores, etc. Salidas: pantallas, bocinas, motores, etc. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx ¿# salidas? ¿# entradas? Decodificador BCD a 7 segmentos

  37. VHDL - Bibliotecas+entidad: ejemplo M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  38. VHDL - Bibliotecas+entidad: ejemplo M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  39. VHDL - Bibliotecas+entidad: ejemplo M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  40. VHDL - Bibliotecas+entidad: ejemplo M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  41. VHDL - Bibliotecas+entidad: ejemplo Entradas: botones, contactos, sensores, etc. Salidas: pantallas, bocinas, motores, etc. M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx ¿# salidas? ¿# entradas? Decodificador BCD a 7 segmentos

  42. VHDL - bibliotecas+entidad: ejemplo Entidad del diagrama anterior Entity Entidad_TACO is port ( BCD: instd_logic_vector(3 downto 0); SAL: out std_logic_vector(6 downto 0); ); End Entidad_TACO; M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx

  43. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital Biblioteca Entidad M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura

  44. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital Entidad Nombre: ? # entradas: ? # salidas: ? # tamaño entradas:? # tamaño salidas: ? Biblioteca M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura

  45. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital X1 x1 x1 B Biblioteca A F f A x1 B A X2 M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura

  46. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital Biblioteca M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura

  47. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital Biblioteca ? M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura ?

  48. VHDL - bibliotecas+entidad: ejemplo En VHDL no importa si se escribe con MAYúSCULAS o minúsculas Lenguaje C Int temperatura; Int Temperatura; VHDL Entity = eNTity = EnTiTy M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Son dos variables distintas

  49. VHDL - bibliotecas+entidad: ejemplo Código de ejemplo en VHDL de un circuito digital Biblioteca ? M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura ?

  50. VHDL - bibliotecas+entidad: ejercicio Completa cada código de acuerdo al diagrama B Biblioteca f A Ejercicio1 M.C. Rubén E. Marmolejo ruben.estrada@hetpro.com.mx Arquitectura

More Related