SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Introducción a 
VHDL 
¿ Qué es VHDL ? 
¿ Qué es FPGA ? 
¿ Qué significa PLD ? 
¿ Qué es un HDL ? 
¿ Cuál es la estructura básica de un diseño 
Edmundo Barajas Ramírez 1 
en VHDL ?
Estilos de Descripción 
Según el nivel de Abstracción: 
 Flujo de datos entre registros RTL. 
 Comportamiento ( Behavior ). 
Edmundo Barajas Ramírez 2 
 Estructural.
Modelado de Flujo de Datos RTL 
(Register Transfer Level) 
 Se hace uso de los operadores predefinidos 
en las bibliotecas estándar del lenguaje y se 
describe por medio de asignaciones como 
establece el flujo de datos entre señales y 
puertos del circuito. 
Edmundo Barajas Ramírez 3
Modelado de Comportamiento 
 En la descripción por comportamiento se 
define el funcionamiento del circuito a través 
de algoritmos, se usan declaraciones de 
mayor nivel de abstracción como IF THEN, 
ELSIF, CASE THEN. Las funciones lógicas 
a implementar quedan definidas por la 
calidad de herramientas de síntesis. 
Edmundo Barajas Ramírez 4
Modelado Estructural 
 Se utilizan componentes previamente 
compilados y se interconectan entre si. (el 
diseñador tiene mas control de la lógica que 
se implementa). 
 La forma del código se asemeja a un “net-list” 
de un diagrama esquemático. 
Edmundo Barajas Ramírez 5
Tipos de Datos 
 VHDL ofrece los objetos tipo BIT_VECTOR 
-- arreglos de bit´s para definir “buses”: 
a : OUT BIT_VECTOR(7 DOWNTO 0); 
b : IN BIT_VECTOR( 0 TO 3); 
Edmundo Barajas Ramírez 6
Tipos de Datos 
 Entre vectores se pueden hacer 
asignaciones de uno o varios Bit´s. 
Ejemplos: a = 00001111, b =1011 
a(5) = b(3); 
a = 00101111 
…… 
a(5 DOWTO 3) = b(1 to 3) 
a = 00101111 
Edmundo Barajas Ramírez 7
Tipos MLV (Multi Valued Logic) 
IEEE std_logic_1164.all 
Edmundo Barajas Ramírez 8 
 ‘U’ Un_initialized 
 ‘Z’ High Impedance 
 ‘-’ Don´t-care 
 Strong Drive 
- ’x’ unknow 
- ‘0’ Logic 0 
- ‘1’ Logic 1 
 Week Drive 
- ‘W’ unknow 
- ‘L’ Logic 0 
- ‘H’ Logic 1
El Paradigma de VHDL 
 CONCURRENCIA: Las instrucciones no se 
ejecutan en secuencia como en otros 
lenguajes convencionales. Las instrucciones 
al modelar hardware se ejecutan en 
paralelo, a menos que se programe un 
proceso, el cual es secuencial. 
 X= A OR B; Z= A AND X; 
 Z = A AND X; X= A OR B; 
Edmundo Barajas Ramírez 9
Concurrencia 
 Resultados de Síntesis 
X = A OR B 
Z = X AND C 
Edmundo Barajas Ramírez 10
Concurrencia 
 Resultados de Síntesis 
Edmundo Barajas Ramírez 11 
Z = C AND X 
X = A OR B
Objetos en VHDL 
 Señales: Actuan como conexiones internas 
del circuito entre un componente y otro. 
Sintaxis: SIGNAL nombre: TIPO [ rango ] 
Ejemplos: 
SIGNAL X: BIT; -- para el ejemplo anterior. 
SIGNAL cuenta: BIT_VECTOR(7 DOWNTO 0); 
SIGNAL temp: INTEGER RANGE 0 TO 255; 
Edmundo Barajas Ramírez 12
Objetos en VHDL 
 CONSTANTES: Permiten definir valores 
fijos para facilitar la lectura del código. Solo 
son validas dentro de la unidad de diseño 
que se declaran (Entity, Architecture, 
Process). 
Sintaxis: CONSTANT nombre: TIPO := valor 
Ejemplos: 
CONSTANT tp: TIME := 16 ns; 
CONSTANT v_ini: BIT_VECTOR(1 TO 0):= “10”; 
Edmundo Barajas Ramírez 13
Objetos en VHDL 
Elementos que se manipulan 
 Variables: Solo se utilizan dentro de 
funciones, procedimientos y procesos. Su 
valor actualiza inmediatamente despues de 
la asignación. 
Sintaxis: VARIABLE nombre: TIPO [ rango]; 
Ejemplo: 
VARIABLE cuenta: INTEGER RANGE 0 TO 15; 
Edmundo Barajas Ramírez 14
Sintaxis de asignación a un 
Objeto según su clase 
 Para una señal o puerto: “ = ” 
 Para una constante, variable y valor inicial “ := ” 
 Bit o std_logic: Usar comillas simles ‘x’ 
 Bit_vector o std_logic_vector: Usar comillas 
dobles. Ejemplo: Para un vector de 5 bit’s 
“10011” 
 Enteros: Asignación directa, no usar comillas. 
Edmundo Barajas Ramírez 15
Sintaxis de asignación a un 
Objeto según su clase 
Edmundo Barajas Ramírez 16 
Ejemplos: 
signal a: std_logic; 
signal b: std_logic_vector(5 downto 0); 
signal c: boolean; 
variable e: integer range 0 to 255; 
BEGIN 
a = ‘1’; --usar comillas simples si no es vector 
b = “10111”; --usar comillas dobles se es vector 
c = TRUE; --puede tomar valores FALSE, TRUE 
d := 34; --en enteros no usar comillas
Otros Operadores 
 Operadores de Relación: 
=, /=; --para todos los tipos 
, =, , =; --para todos los tipos escalar y 
--arreglos con rango discreto. 
 Operadores aritméticos: 
+, - (concatenación), *, /, MOD, REM, 
Edmundo Barajas Ramírez 17 
**(exponente).
Especificación 
de la Base 
Edmundo Barajas Ramírez 18 
Para Vectores: 
m= H”D3”; --Hexadecimal 
n = O”234”; --Octal 
p = B”100110”; --Binario 
Para Enteros: 
q = 16#B3#; --Hexadecimal 
r = 10#234#; --Decimal 
s = 2#100111#; --Binario 
Base por defecto: 
t = 187+r; --Decimal, sin comillas
Ejemplo: uso de std_logic 
a b c f 
0 0 0 1 
0 0 1 0 
0 1 0 0 
0 1 1 1 
1 0 0 0 
1 0 1 0 
1 1 0 1 
Edmundo Barajas Ramírez 19 
Entidad 
Prueba 
a 
b 
c 
F(a,b,c) 
1 1 1 1
Ejemplo: uso de std_logic 
--Ejemplo combinacional básico 
library IEEE 
use ieee.std_logic_1164.all 
entity tabla is port ( 
Edmundo Barajas Ramírez 20 
a,b,c: in std_logic; 
f : out std_logic ); 
end tabla; 
architecture ejemplo of tabla is 
begin 
f = ‘1’ when (a=‘0’ and b=‘0’ and c=‘0’) else 
‘1’ when (a=‘0’ and b=‘1’ and c=‘1’) else 
‘1’ when (a=‘1’ and b=‘1’ and c=‘0’) else 
‘1’ when (a=‘1’ and b=‘1’ and c=‘1’) else 
‘0’ ; 
end ejemplo;
Ejercicio: uso de std_logic 
 Una función F depende de cuatro variables 
D,C,B,A donde A es la variable menos 
significativa. La función F adopta el valor de 
uno si el número formado por las cuatro 
variables es inferior o igual a ocho y superior 
a tres. En caso contrario la función F es cero. 
Edmundo Barajas Ramírez 21
Ejercicio: uso de std_logic 
Solución 
Edmundo Barajas Ramírez 22 
library ieee 
Use ieee.std_logic_1164.all 
Entity funcion is port( 
D,C,B,A: in std_logic; 
f : out std_logic); 
End funcion; 
Architecture a_func of funcion is 
Begin 
F = ‘1’ when (D=‘0’ and C=‘0’ and B=‘1’ and A=‘1’) else 
‘1’ when (D=‘0’ and C=‘1’ and B=‘0’ and A=‘0’) else 
‘1’ when (D=‘0’ and C=‘1’ and B=‘0’ and A=‘1’) else 
‘1’ when (D=‘0’ and C=‘1’ and B=‘1’ and A=‘0’) else 
‘1’ when (D=‘0’ and C=‘1’ and B=‘1’ and A=‘1’) else 
‘1’ when (D=‘1’ and C=‘0’ and B=‘0’ and A=‘0’) else 
‘0’ ; 
End a_func;
Declaraciones concurrentes 
asignadas a señales 
 En este tipo de declaración encontramos las 
funciones de salida mediante la ecuación booleana 
que describe el comportamiento de cada una de las 
compuertas. 
Edmundo Barajas Ramírez 23
Declaraciones concurrentes 
asignadas a señales 
Library ieee; 
Use ieee.std_logic_1164.all; 
Entity logic is port( 
a,b,c,d,e,f: in std_logic; 
f : out std_logic); 
End logic; 
Architecture booleana of logic is 
Begin 
x1 = a xor b; 
x2 = (((c and d) or (a xor b)) nand ((e xor f) and 
Edmundo Barajas Ramírez 24 
(c and d))); 
x3 = (e xor f) and (c and d); 
End booleana;
Uso de std_logic_vector 
Library ieee; 
Use ieee.std_logic_1164.all; 
Entity circuito is port( 
a: std_logic_vector (1 downto 0); 
c: out std_logic); 
Architecture arq_cir of circuito is 
Begin 
with a select 
c = ‘1’ when “00”, 
‘0’ when “01”, 
‘1’ when “10”, 
‘0’ when others 
End arq_cir; 
Edmundo Barajas Ramírez 25 
A(0) A(1) C 
0 0 1 
0 1 0 
1 0 1 
1 1 0
Tarea 
 Modelar en VHDL un circuito medio sumador 
 Modelar en VHDL un circuito sumador total 
 Modelar en VHDL un circuito de cuatro 
entradas llamadas num y una salida que 
indique con un ‘1’ si num es primo y un ‘0’ 
cuando no lo es. 
Edmundo Barajas Ramírez 26

Más contenido relacionado

La actualidad más candente

Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Obmaro García
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CMarvin Romero
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Eloy Rodriguez
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y ExpresionesCarlos Pes
 
53692670 arduino-programacion
53692670 arduino-programacion53692670 arduino-programacion
53692670 arduino-programacionCesar Castelo
 
C++ unidad1 semana1
C++ unidad1 semana1C++ unidad1 semana1
C++ unidad1 semana1winnijbn
 
Informe tecnico u4 final
Informe tecnico u4 finalInforme tecnico u4 final
Informe tecnico u4 finalIrving Che
 
Introduccion a Tablas de Verdad
Introduccion a Tablas de VerdadIntroduccion a Tablas de Verdad
Introduccion a Tablas de Verdadalipichu
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantesCarlos Pes
 
Introduccion tablasverdad
Introduccion tablasverdadIntroduccion tablasverdad
Introduccion tablasverdadAlicia Bentos
 
Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistenciasUlises Hernandez
 
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...David Zapateria Besteiro
 
Presentacion electronica digital - Compuertas Logicas
Presentacion electronica digital - Compuertas LogicasPresentacion electronica digital - Compuertas Logicas
Presentacion electronica digital - Compuertas LogicasCruz Rodriguez
 

La actualidad más candente (19)

Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++Tipos de dato y expresiones en C++
Tipos de dato y expresiones en C++
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en C
 
Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)Lenguaje c (expresiones logicas)
Lenguaje c (expresiones logicas)
 
Elementos de programacion t1
Elementos de programacion t1Elementos de programacion t1
Elementos de programacion t1
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
 
53692670 arduino-programacion
53692670 arduino-programacion53692670 arduino-programacion
53692670 arduino-programacion
 
C++ unidad1 semana1
C++ unidad1 semana1C++ unidad1 semana1
C++ unidad1 semana1
 
Introduccion c
Introduccion cIntroduccion c
Introduccion c
 
Informe tecnico u4 final
Informe tecnico u4 finalInforme tecnico u4 final
Informe tecnico u4 final
 
Introduccion a Tablas de Verdad
Introduccion a Tablas de VerdadIntroduccion a Tablas de Verdad
Introduccion a Tablas de Verdad
 
Transparencias4
Transparencias4Transparencias4
Transparencias4
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Introduccion tablasverdad
Introduccion tablasverdadIntroduccion tablasverdad
Introduccion tablasverdad
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Vhdl
VhdlVhdl
Vhdl
 
Programa para calcular valores de resistencias
Programa para calcular valores de resistenciasPrograma para calcular valores de resistencias
Programa para calcular valores de resistencias
 
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...
Javascript - Módulo 4: Booleano, if/else, string, número, DOM, eventos e inte...
 
Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4 Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4
 
Presentacion electronica digital - Compuertas Logicas
Presentacion electronica digital - Compuertas LogicasPresentacion electronica digital - Compuertas Logicas
Presentacion electronica digital - Compuertas Logicas
 

Destacado

Troubleshooting SQL Server: Un enfoque práctico
Troubleshooting SQL Server: Un enfoque práctico Troubleshooting SQL Server: Un enfoque práctico
Troubleshooting SQL Server: Un enfoque práctico SolidQ
 
PLC - Powerline Communication
PLC - Powerline CommunicationPLC - Powerline Communication
PLC - Powerline Communicationst2t009
 
Partes de motherboard y microprocesador
Partes de motherboard y microprocesadorPartes de motherboard y microprocesador
Partes de motherboard y microprocesadorSteven Nuñez
 
PLC (Controladores logicos programables)
PLC (Controladores logicos programables)PLC (Controladores logicos programables)
PLC (Controladores logicos programables)Siul_G
 
Trabajo para ingles 2
Trabajo para ingles 2Trabajo para ingles 2
Trabajo para ingles 2luffyx97
 
Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)JOSE AHIAS LOPEZ PORTILLO
 
Principios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y RegulacionesPrincipios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y RegulacionesJames Robles
 
Plc (presentacio)
Plc (presentacio)Plc (presentacio)
Plc (presentacio)Gissell03
 
Principios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones BásicasPrincipios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones BásicasJames Robles
 
Introducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable masterIntroducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable masterAlex Fernandez Chavez
 
Controladores Logicos Programables
Controladores Logicos ProgramablesControladores Logicos Programables
Controladores Logicos ProgramablesDavid Levy
 

Destacado (20)

Troubleshooting SQL Server: Un enfoque práctico
Troubleshooting SQL Server: Un enfoque práctico Troubleshooting SQL Server: Un enfoque práctico
Troubleshooting SQL Server: Un enfoque práctico
 
Pascual Mantemin 2006
Pascual Mantemin 2006Pascual Mantemin 2006
Pascual Mantemin 2006
 
PLC - Powerline Communication
PLC - Powerline CommunicationPLC - Powerline Communication
PLC - Powerline Communication
 
Partes de motherboard y microprocesador
Partes de motherboard y microprocesadorPartes de motherboard y microprocesador
Partes de motherboard y microprocesador
 
Controladores lógicos programables
Controladores lógicos programablesControladores lógicos programables
Controladores lógicos programables
 
PLC (Controladores logicos programables)
PLC (Controladores logicos programables)PLC (Controladores logicos programables)
PLC (Controladores logicos programables)
 
Trabajo para ingles 2
Trabajo para ingles 2Trabajo para ingles 2
Trabajo para ingles 2
 
Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)Sql Server - Troubleshooting De Bloqueos (Parte I)
Sql Server - Troubleshooting De Bloqueos (Parte I)
 
11 Intro
11 Intro11 Intro
11 Intro
 
PLC Alternativo
PLC AlternativoPLC Alternativo
PLC Alternativo
 
Arquitectura de un plc
Arquitectura de un plcArquitectura de un plc
Arquitectura de un plc
 
Principios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y RegulacionesPrincipios de Instrumentación - Símbolos, Automatización y Regulaciones
Principios de Instrumentación - Símbolos, Automatización y Regulaciones
 
Plc (presentacio)
Plc (presentacio)Plc (presentacio)
Plc (presentacio)
 
Principios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones BásicasPrincipios de PLC - Hardware, Configuración e Instrucciones Básicas
Principios de PLC - Hardware, Configuración e Instrucciones Básicas
 
Controladores logicos programables (plc)
Controladores logicos programables (plc)Controladores logicos programables (plc)
Controladores logicos programables (plc)
 
Introducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable masterIntroducción Controlador Lógico Programable master
Introducción Controlador Lógico Programable master
 
Estructura plc
Estructura plcEstructura plc
Estructura plc
 
Controladores Logicos Programables
Controladores Logicos ProgramablesControladores Logicos Programables
Controladores Logicos Programables
 
curso de plc
curso de plccurso de plc
curso de plc
 
Neumatica
Neumatica Neumatica
Neumatica
 

Similar a Vhdl2

Programacion PLD
Programacion PLDProgramacion PLD
Programacion PLDdavic_exe
 
Por que java
Por que javaPor que java
Por que javareivax
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227erikalejo
 
Conceptos basicos de_vhdl
Conceptos basicos de_vhdlConceptos basicos de_vhdl
Conceptos basicos de_vhdlAngie Cardenas
 
Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL SANTIAGO PABLO ALBERTO
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Alveiro2
 
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDLVictor Asanza
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Introduccion a la programacion en c 18
Introduccion a la programacion en c 18Introduccion a la programacion en c 18
Introduccion a la programacion en c 18fitomaster
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacionthaynasantos1997
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacionrotflol
 
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
 

Similar a Vhdl2 (20)

7_vhdl.pdf
7_vhdl.pdf7_vhdl.pdf
7_vhdl.pdf
 
Programacion PLD
Programacion PLDProgramacion PLD
Programacion PLD
 
P03.Programación en c para pics
P03.Programación en c para picsP03.Programación en c para pics
P03.Programación en c para pics
 
Por que java
Por que javaPor que java
Por que java
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
Conceptos basicos de_vhdl
Conceptos basicos de_vhdlConceptos basicos de_vhdl
Conceptos basicos de_vhdl
 
Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL Electrónica digital: Lógica programable VHDL
Electrónica digital: Lógica programable VHDL
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)
 
Micro2 tema 1
Micro2 tema 1Micro2 tema 1
Micro2 tema 1
 
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL
⭐⭐⭐⭐⭐ PRÁCTICA: RESOLUCIÓN DE CIRCUITOS COMBINATORIALES CON VHDL
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
C
CC
C
 
Introduccion a la programacion en c 18
Introduccion a la programacion en c 18Introduccion a la programacion en c 18
Introduccion a la programacion en c 18
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
 
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
 

Último

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
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
 
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
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (19)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
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)
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
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
 
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
 
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...
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
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
 
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
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

Vhdl2

  • 1. Introducción a VHDL ¿ Qué es VHDL ? ¿ Qué es FPGA ? ¿ Qué significa PLD ? ¿ Qué es un HDL ? ¿ Cuál es la estructura básica de un diseño Edmundo Barajas Ramírez 1 en VHDL ?
  • 2. Estilos de Descripción Según el nivel de Abstracción: Flujo de datos entre registros RTL. Comportamiento ( Behavior ). Edmundo Barajas Ramírez 2 Estructural.
  • 3. Modelado de Flujo de Datos RTL (Register Transfer Level) Se hace uso de los operadores predefinidos en las bibliotecas estándar del lenguaje y se describe por medio de asignaciones como establece el flujo de datos entre señales y puertos del circuito. Edmundo Barajas Ramírez 3
  • 4. Modelado de Comportamiento En la descripción por comportamiento se define el funcionamiento del circuito a través de algoritmos, se usan declaraciones de mayor nivel de abstracción como IF THEN, ELSIF, CASE THEN. Las funciones lógicas a implementar quedan definidas por la calidad de herramientas de síntesis. Edmundo Barajas Ramírez 4
  • 5. Modelado Estructural Se utilizan componentes previamente compilados y se interconectan entre si. (el diseñador tiene mas control de la lógica que se implementa). La forma del código se asemeja a un “net-list” de un diagrama esquemático. Edmundo Barajas Ramírez 5
  • 6. Tipos de Datos VHDL ofrece los objetos tipo BIT_VECTOR -- arreglos de bit´s para definir “buses”: a : OUT BIT_VECTOR(7 DOWNTO 0); b : IN BIT_VECTOR( 0 TO 3); Edmundo Barajas Ramírez 6
  • 7. Tipos de Datos Entre vectores se pueden hacer asignaciones de uno o varios Bit´s. Ejemplos: a = 00001111, b =1011 a(5) = b(3); a = 00101111 …… a(5 DOWTO 3) = b(1 to 3) a = 00101111 Edmundo Barajas Ramírez 7
  • 8. Tipos MLV (Multi Valued Logic) IEEE std_logic_1164.all Edmundo Barajas Ramírez 8 ‘U’ Un_initialized ‘Z’ High Impedance ‘-’ Don´t-care Strong Drive - ’x’ unknow - ‘0’ Logic 0 - ‘1’ Logic 1 Week Drive - ‘W’ unknow - ‘L’ Logic 0 - ‘H’ Logic 1
  • 9. El Paradigma de VHDL CONCURRENCIA: Las instrucciones no se ejecutan en secuencia como en otros lenguajes convencionales. Las instrucciones al modelar hardware se ejecutan en paralelo, a menos que se programe un proceso, el cual es secuencial. X= A OR B; Z= A AND X; Z = A AND X; X= A OR B; Edmundo Barajas Ramírez 9
  • 10. Concurrencia Resultados de Síntesis X = A OR B Z = X AND C Edmundo Barajas Ramírez 10
  • 11. Concurrencia Resultados de Síntesis Edmundo Barajas Ramírez 11 Z = C AND X X = A OR B
  • 12. Objetos en VHDL Señales: Actuan como conexiones internas del circuito entre un componente y otro. Sintaxis: SIGNAL nombre: TIPO [ rango ] Ejemplos: SIGNAL X: BIT; -- para el ejemplo anterior. SIGNAL cuenta: BIT_VECTOR(7 DOWNTO 0); SIGNAL temp: INTEGER RANGE 0 TO 255; Edmundo Barajas Ramírez 12
  • 13. Objetos en VHDL CONSTANTES: Permiten definir valores fijos para facilitar la lectura del código. Solo son validas dentro de la unidad de diseño que se declaran (Entity, Architecture, Process). Sintaxis: CONSTANT nombre: TIPO := valor Ejemplos: CONSTANT tp: TIME := 16 ns; CONSTANT v_ini: BIT_VECTOR(1 TO 0):= “10”; Edmundo Barajas Ramírez 13
  • 14. Objetos en VHDL Elementos que se manipulan Variables: Solo se utilizan dentro de funciones, procedimientos y procesos. Su valor actualiza inmediatamente despues de la asignación. Sintaxis: VARIABLE nombre: TIPO [ rango]; Ejemplo: VARIABLE cuenta: INTEGER RANGE 0 TO 15; Edmundo Barajas Ramírez 14
  • 15. Sintaxis de asignación a un Objeto según su clase Para una señal o puerto: “ = ” Para una constante, variable y valor inicial “ := ” Bit o std_logic: Usar comillas simles ‘x’ Bit_vector o std_logic_vector: Usar comillas dobles. Ejemplo: Para un vector de 5 bit’s “10011” Enteros: Asignación directa, no usar comillas. Edmundo Barajas Ramírez 15
  • 16. Sintaxis de asignación a un Objeto según su clase Edmundo Barajas Ramírez 16 Ejemplos: signal a: std_logic; signal b: std_logic_vector(5 downto 0); signal c: boolean; variable e: integer range 0 to 255; BEGIN a = ‘1’; --usar comillas simples si no es vector b = “10111”; --usar comillas dobles se es vector c = TRUE; --puede tomar valores FALSE, TRUE d := 34; --en enteros no usar comillas
  • 17. Otros Operadores Operadores de Relación: =, /=; --para todos los tipos , =, , =; --para todos los tipos escalar y --arreglos con rango discreto. Operadores aritméticos: +, - (concatenación), *, /, MOD, REM, Edmundo Barajas Ramírez 17 **(exponente).
  • 18. Especificación de la Base Edmundo Barajas Ramírez 18 Para Vectores: m= H”D3”; --Hexadecimal n = O”234”; --Octal p = B”100110”; --Binario Para Enteros: q = 16#B3#; --Hexadecimal r = 10#234#; --Decimal s = 2#100111#; --Binario Base por defecto: t = 187+r; --Decimal, sin comillas
  • 19. Ejemplo: uso de std_logic a b c f 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 Edmundo Barajas Ramírez 19 Entidad Prueba a b c F(a,b,c) 1 1 1 1
  • 20. Ejemplo: uso de std_logic --Ejemplo combinacional básico library IEEE use ieee.std_logic_1164.all entity tabla is port ( Edmundo Barajas Ramírez 20 a,b,c: in std_logic; f : out std_logic ); end tabla; architecture ejemplo of tabla is begin f = ‘1’ when (a=‘0’ and b=‘0’ and c=‘0’) else ‘1’ when (a=‘0’ and b=‘1’ and c=‘1’) else ‘1’ when (a=‘1’ and b=‘1’ and c=‘0’) else ‘1’ when (a=‘1’ and b=‘1’ and c=‘1’) else ‘0’ ; end ejemplo;
  • 21. Ejercicio: uso de std_logic Una función F depende de cuatro variables D,C,B,A donde A es la variable menos significativa. La función F adopta el valor de uno si el número formado por las cuatro variables es inferior o igual a ocho y superior a tres. En caso contrario la función F es cero. Edmundo Barajas Ramírez 21
  • 22. Ejercicio: uso de std_logic Solución Edmundo Barajas Ramírez 22 library ieee Use ieee.std_logic_1164.all Entity funcion is port( D,C,B,A: in std_logic; f : out std_logic); End funcion; Architecture a_func of funcion is Begin F = ‘1’ when (D=‘0’ and C=‘0’ and B=‘1’ and A=‘1’) else ‘1’ when (D=‘0’ and C=‘1’ and B=‘0’ and A=‘0’) else ‘1’ when (D=‘0’ and C=‘1’ and B=‘0’ and A=‘1’) else ‘1’ when (D=‘0’ and C=‘1’ and B=‘1’ and A=‘0’) else ‘1’ when (D=‘0’ and C=‘1’ and B=‘1’ and A=‘1’) else ‘1’ when (D=‘1’ and C=‘0’ and B=‘0’ and A=‘0’) else ‘0’ ; End a_func;
  • 23. Declaraciones concurrentes asignadas a señales En este tipo de declaración encontramos las funciones de salida mediante la ecuación booleana que describe el comportamiento de cada una de las compuertas. Edmundo Barajas Ramírez 23
  • 24. Declaraciones concurrentes asignadas a señales Library ieee; Use ieee.std_logic_1164.all; Entity logic is port( a,b,c,d,e,f: in std_logic; f : out std_logic); End logic; Architecture booleana of logic is Begin x1 = a xor b; x2 = (((c and d) or (a xor b)) nand ((e xor f) and Edmundo Barajas Ramírez 24 (c and d))); x3 = (e xor f) and (c and d); End booleana;
  • 25. Uso de std_logic_vector Library ieee; Use ieee.std_logic_1164.all; Entity circuito is port( a: std_logic_vector (1 downto 0); c: out std_logic); Architecture arq_cir of circuito is Begin with a select c = ‘1’ when “00”, ‘0’ when “01”, ‘1’ when “10”, ‘0’ when others End arq_cir; Edmundo Barajas Ramírez 25 A(0) A(1) C 0 0 1 0 1 0 1 0 1 1 1 0
  • 26. Tarea Modelar en VHDL un circuito medio sumador Modelar en VHDL un circuito sumador total Modelar en VHDL un circuito de cuatro entradas llamadas num y una salida que indique con un ‘1’ si num es primo y un ‘0’ cuando no lo es. Edmundo Barajas Ramírez 26