LENGUAJES DE PROGRAMACIÓN
HDL
VHDL
VERILOG
ABEL
OTROS
ESQUEMATICOS
DIAGRAMA DE ESTADOS
SYSTEM GENERATOR (MATLAB)
RIO (LABVIEW)
Entorno de Desarrollo
Para el desarrollo de la materia se usaran:
Entorno de programación ISE de Xilinx
Tarjeta de desarrollo Spartan 3E de la empresa Digilent
Lenguaje de Programación VHDL
Enlace con MATLAB y/o LabView
Elementos básicos
La estructura general de un programa en VHDL está formada por 5
módulos o unidades de diseño
declaración de entidad (entity declaration)
arquitectura (architecture)
configuración (configuration)
declaración del paquete (package declaration)
cuerpo del paquete (package body)
Entidad
Una entidad (entity) es el bloque elemental de diseño en VHDL, Las
entidades son todos los elementos electrónicos que forman de
manera individual o en conjunto un sistema digital
Puertos y modos
Un modo puede tener uno de cuatro valores:
in (entrada)
out (salida)
inout (entrada/salida)
buffer
Tipos de datos
Los tipos son los valores (datos) que el diseñador establece para los
puertos de entrada y salida dentro de una entidad. Algunos de los
tipos más utilizados en VHDL son:
Bit, el cual tiene valores de 0 y 1 lógico.
Boolean (booleano) que define valores de verdadero o falso en una
expresión
Bit_vector (vectores de bits) que representa un conjunto de bits para cada
variable de entrada o salida.
Integer (entero) que representa un número entero.
Operadores lógicos, relacionales y
aritméticos Operadores lógicos
Misma Prioridad: and, nand, or, nor y xor.
Mayor Prioridad: not
Operadores relacionales
Menor que, <
Menor o igual que, < =
Mayor que, >
Mayor o igual que, > =
Igual que, =
Distinto que, /=
Operadores aritméticos
Suma (+) y Resta (-)
Multiplicación (*) y División (/)
Exponencial (**)
Valor absoluto (abs)
Módulo (mod) y Resto (rem)
Librerías
Las librerías en VHDL son conjuntos definiciones de tipos de datos,
funciones aritméticas, de conversión y comparaciones.
IEEE Standard Logic 1164
USE IEEE.std_logic_1164.all:
Std_logic: Un bit. (’1’,’0’, ’Z’, ’X’, ’H’, ’L’, ’U’, -....)
Std_logic_vector(MSB downto LSB): Bus. (”1100”)
Integer: Entero. (5);
Logica booleano (NOT, XOR, etc)
IEEE Standard Logic arith
USE IEEE.std_logic_arith.all:
Tipos de vectores con/sin signo
Signed(MSB downto LSB)
unsigned(MSB downto LSB)
Operaciones aritméticos entre enteros, signed y unsigned.
Comparacion entre enteros, signed y unsigned
La operación de división por valores no 2n
Arquitectura
Una arquitectura (architecture) se define como la estructura que
describe el funcionamiento de una entidad
De manera general, los estilos de programación utilizados en el
diseño de arquitecturas se clasifican como:
Estilo funcional
Estilo por flujo de datos
Estilo estructural
Estilo flujo de datos
Indica la forma en que los datos se pueden transferir de una señal a
otra sin necesidad de declaraciones secuenciales (if- then- else).
Se pueden utilizar:
Instrucciones when- else
Ecuaciones booleanas.
Estilo estructural Una descripción estructural basa su comportamiento en modelos lógicos establecidos
(compuertas, sumadores, contadores, etc.) para instanciarlos en una sola arquitectura
Test bench (colocar los estímulos)
Comentar todo lo
del reloj 1
Insertar estímulos 2
Comprobar y
simular 3 Para poner comentarios