Anda di halaman 1dari 32

DISEO BSICO EN

FGPA CON VHDL


ELECTRNICA DIGITAL
Metodologa de diseo con FPGAs

Descripcin del circuito a realizar

Lenguaje de descripcin de hardware


(VHDL o Verilog)

Simulaciones del circuito

Construccin del circuito

Archivo binario llamado bitstream que


se carga en la FPGA.
Metodologa de diseo con FPGAs

VHDL NO ES UN LENGUAJE DE PROGRAMACIN, ES UN


LENGUAJE DE DESCRIPCIN.

El software de diseo, programacin y simulacin que


utilizaremos es el: ISE Design Suite 14.7
Tarjeta de desarrollo Basys 2

Contiene una FPGA de Xilinx modelo Spartan 3E-100 CP132.


Esta FPGA contiene 100,000 compuertas lgicas equivalentes.
Caractersticas generales
Basys 2
Caractersticas generales
Basys 2
Organizacin de VHDL

Unidades bsicas de diseo:

Libreras Paquetes Entidad Arquitectura


libreras

Es un lugar al que se tiene acceso para utilizar las unidades


de diseo predeterminadas por el fabricante de la
herramienta y su funcin es agilizar el diseo.

library ieee;
Paquetes

El paquete std_logic_1164 que se encuentra en la librera ieee


contiene todos los tipos de datos que suelen emplearse en
VHDL.
use IEEE.STD_LOGIC_1164.ALL;

El paquete use IEEE.STD_LOGIC_ARITH.ALL; define funciones


y operadores aritmticos, como igual (=), mayor que (>),
menor que (<), entre otros.
Entidad

Es el bloque elemental de diseo en VHDL.

Son todos los elementos electrnicos (sumadores, contadores,


compuertas, flip-flops, memorias, multiplexores, etc.) que
forman de manera individual o en conjunto un sistema digital.
Entidad
Entidad: puertos de entrada y
salida

Todos los puertos que son declarados deben tener


un nombre, un modo y un tipo de dato.
Entidad: modos

Permite definir la direccin en la cual el dato es transferido a


travs de un puerto.
Entidad: tipo de datos

Boolean: Define valores de verdadero o falso en una expresin

Bit: Tiene valores de 0 y 1 lgico

Bit_vector: Representa un conjunto de bits

Integer: Representa un nmero entero


Std_logic: Extensiones del tipo bit
U: no inicializado
X: forzando un valor desconocido
0: forzando un 0
1: forzando un 1
Z: alta impedancia
W: Desconocido dbil
L: 0 dbil
H: 1 dbil
-: no importa
Std_logic_vector: Vectores del std_logic
Entidad: declaracin

Consiste en la descripcin de las entradas y salidas de un circuito


de diseo.

1 --Declaracin de la entidad de un circuito sumador


2 entity sumador is
3 port (A, B, Cin: in bit;
4 SUMA, Cout: out bit);
5 end sumador;
Entidad: identificadores

Son los nombres o etiquetas que se usan para referir variables,


constantes, seales, procesos, etc.

Regla Incorrecto Correcto


El primer carcter siempre es una 4suma Suma4
letra mayscula o minscula SUMA4
suma4
El segundo carcter no puede S_4bits S4_bits
ser un guion bajo
Dos guiones juntos no son Resta__4 Resta_4_
permitidos
Un identificador no puede utilizar Clear#8 Clear_8
smbolos
Entidad: diseo mediante
vectores

entity sumador is
port (A,B: in bit_vector (3 downto 0);
Cin: in bit;
Cout: out bit;
SUMA: out bit_vector(3 downto 0));
end sumador;
Arquitecturas

Se define como la estructura que describe el funcionamiento


de una entidad.

Permite el desarrollo de los procedimientos que se llevarn a


cabo con el fin de que la entidad cumpla las condiciones de
funcionamiento deseadas.
DISEO LGICO COMBINACIONAL

En VHDL existen diferentes tipos de condiciones:

Declaraciones concurrentes asignadas a seales (operadores lgicos)

Declaraciones condicionales asignadas a una seal (when-else)

Seleccin de una seal (with-select-when)

Declaracin secuencial (case-when)

Descripcin funcional (if-then-else)


Ecuaciones booleanas
Ecuaciones booleanas
Condicin When-else

La declaracin when-else se utiliza para asignar valores a


una seal, determinando as la ejecucin de una
condicin propia del diseo.

Sintaxis:
Variable <= valor WHEN (condicin) else
Valor WHEN (condicin) else
.
Valor WHEN (condicin) else
0;
Condicin When-else
Ejemplo para declaraciones when-else
Seleccin de una seal (with-select-when)

La declaracin with - select - when se utiliza para asignar un


valor a una seal con base en el valor de otra seal
previamente seleccionada.

Sintaxis:
WITH var SELECT
Var2 <= valor WHEN condicin,
valor WHEN condicin,

valor WHEN OTHERS;
Ejemplo para sentencia with-select-when
Declaracin secuencial case-when

Permite seleccionar una entre varias alternativas excluyentes entre s


de una expresin.
Si se usa others debe ser la ltima alternativa.

Sintaxis:
Process (expresin) begin
CASE expresin IS
WHEN opciones => variable <= asignacin;
WHEN opciones => variable <= asignacin;
WHEN opciones => variable <= asignacin;
WHEN OTHERS => variable <= asignacin;
End case;
End process;
Declaracin secuencial case-when
Descripcin funcional

Expone la forma en que trabaja el sistema.


Descripcin funcional
DECODIFICADOR DE BCD A DISPLAY DE 7
SEGMENTOS

Un circuito decodificador, acepta cdigo BCD en sus


entradas y proporciona salidas capaces de excitar un display
de siete segmentos que indica el dgito decimal
seleccionado.
VALORES LGICOS CORRESPONDIENTES A
CADA SEGMENTO DEL DISPLAY