Está en la página 1de 45

TEMA: Metodologías de diseño electrónico en

la actualidad.

CURSO: DISEÑO DE SISTEMAS COMPUTACIONALES PARA APLICACIÓN ESPECÍFICA

Docente: RAÚL ALBERTO ROJAS REÁTEGUI


¿Qué se puede apreciar en la imagen?
Logro de la sesión de aprendizaje

Al finalizar la unidad los estudiantes comprenden e identifican las


principales características de las Herramientas y flujo de diseño con
FPGA’s.

Datos/Observaciones
FLUJO DE DISEÑO
Definición

En una secuencia de pasos que utiliza para convertir una idea en realidad.
Para un diseño de flujo exitoso debemos tener en cuenta:
 Descripción del diseño: Se basa en el análisis del comportamiento de un
circuito y describirlo formalmente. Para crear un modelo formal que puede
usarse para sintetizar un circuito
 Simulación: Consiste en utilizar programas de simulación y luego un
prototipo hasta llegar a corregirlos.
 Síntesis: Pasar de una descripción abstracta a un circuito funcional.

Datos/Observaciones
Datos/Observaciones
Etapas básicas

Las principales etapas son:


1. La Idea o especificación: Consiste en observar una necesidad, con
ella elaborar una idea de solución, que cumpla con una especificación
deseada.
2. Diseño del Circuito: Basado en la idea de solución, elaboramos un
diseño que cumpla con las especificaciones solicitadas. Para lo cual
podemos utilizar distintos métodos de diseño: Esquema, HDL, etc.

Datos/Observaciones
3. Implementación: Una vez diseñado se implementa o construir un
prototipo.
4. Test: Una vez que tengas una implementación un prototipo es necesario
encender y realiza test del funcionamiento.
5. Verificación: Se realiza test de verificación, para comprobar que cumpla
con las especificaciones establecidas.
6. Corrección de la lógica: Si en el prototipo se encontraron errores, es
necesario realizar la correcciones programas de simulación.

Datos/Observaciones
DISEÑO

Datos/Observaciones
Uso de diagramas esquemáticos
(Libero)
Primitivas o nuevos elementos

Datos/Observaciones
Descripción mediante lenguajes de
descripción de hardware (VHDL -
Verilog)

Datos/Observaciones
Uso de diagramas esquemáticos (HDL
Designer)

Datos/Observaciones
Representación de máquinas de estado

Datos/Observaciones
Representación de máquinas de estado
(HDL Designer de Mentor Graphics)

Datos/Observaciones
Diseño con
Hardware Description Language
(VHDL)
Desarrollo histórico

 1980: Programa VHSIC (Very High Speed Integrated Circuit) del


Departamento de Defensa de E.E.U.U.
 1983: Comienzan los trabajos para desarrollar el VHDL
 1987: Aparece el estándar IEEE 1076-1987, es la mas aceptada.
 1993: Nueva versión del estándar: IEEE 1076-1993

Datos/Observaciones
Se produce la VHDL es revisado VHDL es revisado
reunión inicial y ampliado convirtiéndose
entre el gobierno, Versión 7.2 de convirtiéndose en estándar
las universidades dominio en estándar 1076 ’93 1076-2002
y la industria público (VHDL-93) (VHDL-2002)

1981 1985 1993 2002

1980 1983 1987 2000 2008

DoD de EEUU Se concede a Estándar VHDL es revisado Estándar


Inicia el Intermetrics, IBM IEEE 1076-87 convirtiéndose IEEE 1076-2008
proyecto y Texas En estándar (Revisión de
para crear un Instruments un IEEE 1076-2000 1076-2002)
HDL estándar contrato para (VHDL-2000)
dentro del desarrollar
programa VHDL
VHSIC

Datos/Observaciones
Lenguaje VHDL

 Es un estándar de IEEE
 Ampliamente usado, por el ámbito de aplicación y por adaptación a las
necesidades del diseño de circuitos digitales.
 Modelado y simulación de circuitos digitales en múltiples niveles de
abstracción
 Síntesis lógica, RT y de alto nivel

Datos/Observaciones
Características del VHDL

 Existen cuatro tipo de objetos en VHDL: constantes, variables, señales y


archivos.
 Es un lenguaje “strong typing”, lo que implica que no pueden asignarse
valores a señales o variables que no sean del tipo declarado para esa
señal o variable.
 Para realizar lo antes mencionado se debe llamar a una función de
conversión de tipo.
 Permite dividir un diseño de hardware en módulos más chicos.

Datos/Observaciones
Utilidad de VHDL

 El VHDL permite modelar SISTEMAS DIGITALES


 A partir de estos modelos podremos:

Datos/Observaciones
Objetos de VHDL

 Se definen 04 clases de objetos principales:


 Constantes
 Señales
 Variables
 Archivos

Datos/Observaciones
Constantes

Son utilizadas para el manejo de valores que se mantienen constantes durante


el diseño.
El nombre de la contante debe ser claro y que no este reservada en el programa.
Para la asignación de un valor a una variable se utiliza el símbolo “:=“
Se declaran del siguiente modo:
constant identificador: tipo [ := expresión];
Ejemplo: constant N: integer := 8;

Datos/Observaciones
Señales
 Representan las conexiones del hardware. Representan los cables.
 En las simulaciones toman el valor asignado un delta de tiempo después (salvo que
se indique un retardo por medio de la sentencia after).
 Para la asignación de un valor a una señal se utiliza el símbolo “<=“
 Se declaran del siguiente modo:

signal identificador: tipo [ := expresión];


word <= “1110”;
single_bit <= ‘1’;

Datos/Observaciones
Variables

 Son utilizadas para almacenar valores que pueden sufrir cambios.


 No tienen significado físico
 Para la asignación de un valor a una variable se utiliza el símbolo “:=“
 Se declaran del siguiente modo:

variable identificador: tipo [ := expresión];


variable aux: integer := 3;
aux := aux + 1;

Datos/Observaciones
Archivo

 Estos objetos no son sintetizables. A los cuales se puede acceder para


lectura como escritura.
 Se utilizan en simulaciones.
 Se declaran del siguiente modo:

file identificador : subtipo [info_apertura];


info_apertura = [open modo_de_apertura] is nombre_archivo
nombre_archivo = string

Datos/Observaciones
 Para definir un objetos se utilizan los siguientes campos:
 Clase: Define el tipo de objeto (señal, constante, variable)
 Nombre: Permiten utilizar cualquier palabra menos las reservadas
 Modo: Se utiliza solo para señales en los puertos (input, output e inout)
 Tipo: Los mas utilizados son bit, bit_vector, bolean, std_logic, integer,
etc.

Datos/Observaciones
Operadores en VHDL
Lógicos
and, or, nor, xor, not

De relación
= (igual) , < (menor) , > (mayor) , /= (distinto) ,
<= (menor o igual) , >= (mayor o igual)

Aritméticos
+ (suma) , - (resta)

Concatenación
& Ejemplo: a <= b(N-1) & b(N-1 downto 1);
Datos/Observaciones
Tipos de datos en VHDL

 Cada objeto deberá ser un tipo de dato. Con el cual se determinan los
valores y las operaciones que se pueden realizar.
 El sistema tiene pre-definidos un conjuntos de datos.
 También se permite definir al usuario
 Sintaxis

type is
Datos/Observaciones
1. Datos escalares: Los datos están conformados por un único dato
indivisible. Enteros, reales, enumerados, físicos.

a. Integer: Valor entero codificado con 32 bits, un entero puede


estar limitado en su declaración, a fin fe evitar utilizar 32 bits.
signal VALOR : inteteger range 0 to 255;

Datos/Observaciones
b. Enumerados: Conjunto de posibles valores especificados en una lista, la
cual se debe enumerar.
type desplazamiento is (arriba, abajo, derecha, izquierda);
----Declaración
variable flecha : desplazamiento :=arriba;
Los tipo predefinidos de variables enumeradas mas utilizadas son:
 Boolean: Puede tomar los valores true o false
 Bit: Puede tomas el valor de “0” y “1”

Datos/Observaciones
Para realizar la definición de datos escalares de manera mas sencilla, el VHDL
establece los siguientes tipos de datos pre definidos:
BIT BOOLEAN
BIT_VECTOR INTEGER
REAL

La IEEE ha estandarizado una librería o paquete denominado std_logic_1164. Es


decir para utilizar datos es escalares debemos declarar la biblioteca en el
encabezado de programa VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.all;
Datos/Observaciones
2. Datos compuestos: Sus datos pueden dividirse en unidades mas
pequeñas denominadas unidades atómicas. Vector registro.
a. Vectores: Conjunto de objetos del tipo ordenados mediante uno o
mas indicies que indicant la posición de cada objeto dentro del vector.
Estos pueden ser:
 Vector de una dimension: Posee un índice y uno o mas
vectores
 Vector de mas de una dimension: Posee mas de un índice y
una o mas matrices
Datos/Observaciones
Para realizar la definición de datos compuestos de manera mas sencilla, la
IEEE ha estandarizado una librería o paquete denominado
std_logic_vector.

Es decir para utilizar datos es escalares debemos declarar la biblioteca en


el encabezado de programa VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.all;
a, b : in STD_LOGIC_VECTOR (7 DOWNTO 0);

Datos/Observaciones
Entidad en VHDL

La entidad de diseño es la principal abstracción de hardware en VHDL.


Representa una porción del diseño de un hardware que tiene entradas y
salidas definidas y realiza una determinada función.

Puede representar un sistema completo, un subsistema, una plaqueta, un


chip, una macrocelda, una compuerta lógica o cualquier nivel de
abstracción que se encuentre entre los antes mencionados.

Datos/Observaciones
Una entidad de diseño puede ser descripta en términos de una jerarquía de
bloques, cada uno de los cuales representa una porción del diseño
completo.

El bloque superior (top-level) en esta jerarquía es la propia entidad de


diseño; tal bloque es un bloque externo y puede ser utilizado como
componente de otros diseños. Los bloques anidados en la jerarquía son
bloques internos.

Datos/Observaciones
Entidad de diseño

Declaración de entidad

Declaración de la interfaz

Cuerpo de arquitectura

Descripción del
funcionamiento

Datos/Observaciones
Declaración de entidad

Una declaración de entidad define la interfaz entre una entidad de diseño


dada y el entorno en el cual es usada.

Define cuáles son los puertos y los modos de los mismos


A

Datos/Observaciones
Sintaxis

entity nombre_entidad is
[generic (generic_variable_declarations) ;]
[port (lista_de_interfaz) ;]
[declaraciones]
[begin
[sentencias]]
end [entity] [nombre_entidad]; (*)

Datos/Observaciones
Arquitectura en VHDL
Un cuerpo de arquitectura define el cuerpo de una entidad de diseño.

Especifica las relaciones entre las entradas y las salidas de esta, y puede
estar expresada en términos de estructura, flujo de datos o
comportamiento.

C
C <= A xor B

B
Datos/Observaciones
Sintaxis

architecture nombre_arquitectura of nombre_entidad is


[declaraciones]
begin
[sentencias]
end [architecture] [nombre_arquitectura]; (*)

Datos/Observaciones
Estructura de un código VHDL
library IEEE;
Library
use IEEE.std_logic_1164.all;

entity negador is
port (
Entity a: in std_logic;
b: out std_logic
);
end;

architecture beh of negador is


Architecture begin
b <= not a;
end beh;

Datos/Observaciones
Ejemplo en VHDL
entity circuito is
port (
a : in bit;
b : in bit;
c : in bit; a
aux1
d : in bit; AND
e : out bit); b
end circuito;
OR e
architecture arq of circuito is c
signal aux1: bit; AND
aux2
signal aux2: bit; d
begin
aux1 <= a and b;
aux2 <= c and d; e <= (a and b) or (c and d);
e <= aux1 or aux2;
end arq;

Datos/Observaciones
CIERRE

Conclusiones

• Flujo de diseño es una secuencia de pasos que utiliza para convertir una idea en realidad.
• Para un diseño de flujo exitoso debemos tener en cuenta: descripción del diseño, simulación y
síntesis.
• Las principales etapas del flujo de diseño son: la Idea o especificación, diseño del circuito,
implementación, test, verificación y corrección de la lógica.
• El lenguaje VHDL, es un estándar de IEEE utilizado para el diseño de circuitos digitales
adaptables a necesidades especificas.
• En el lenguaje VHDL se definen 04 clases de objetos: constantes, señales, variables y archivos

Herramientas de diseño electrónico FPGAs


CIERRE

Conclusiones

• La entidad de diseño es una abstracción de hardware en lenguaje VHDL, que puede representar
un sistema completo, un subsistema, una plaqueta, un chip, una macrocelda, una compuerta
lógica, etc.
• Para el desarrollo de un código VHDL se definen tres componentes básicos del programa:
librerías, entidad y arquitectura.

Herramientas de diseño electrónico FPGAs


Gracias
Docente: RAÚL ALBERTO ROJAS REÁTEGUI
Facultad de Ingeniería
Departamento Académico de Electrónica

También podría gustarte