2_lenguajes de alto nivel para descripcion de circuitos

39
LENGUAJES DE ALTO NIVEL PARA DESCRIPCIÓN DE CIRCUITOS Ing. Milton Tipán

Upload: cristian-eduardo-aina

Post on 03-Dec-2015

213 views

Category:

Documents


1 download

DESCRIPTION

cda

TRANSCRIPT

LENGUAJES DE ALTO NIVEL PARA

DESCRIPCIÓN DE CIRCUITOS

Ing. Milton Tipán

LENGUAJES DE PROGRAMACIÓN

HDL

VHDL

VERILOG

ABEL

OTROS

ESQUEMATICOS

DIAGRAMA DE ESTADOS

SYSTEM GENERATOR (MATLAB)

RIO (LABVIEW)

FABRICANTES

XILINX

ALTERA

FAMILIAS DE FPGAs

SOFTWARE DE PROGRAMACIÓN XILINX

SOFTWARE DE PROGRAMACIÓN ALTERA

HARDWARE DE PROGRAMACIÓN

PROPIETARIO

PARTNERS

DIGILENT

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

Hardware Description Language (VHDL)

organización y arquitectura

Ing. Milton Tipán

Contenido

Elementos básicos

Entidad

Arquitectura

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)

En ISE de Xilinx

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)

Palabras reservadas en VHDL

Declaración de la entidad

Declaración de Vectores

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

Declaración de librerías

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 funcional

Se trata de una descripción funcional de la forma en que trabaja el

sistema

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 flujo de datos (When – Else)

Estilo flujo de datos (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

EJEMPLO COMPUERTA EN VHDL

TEST BENCH

Ing. Milton Tipán

Compuerta AND

Crear test bench

Test bench (comentar todos los del clocks)

Cambiar a modo

simulación

Test bench (colocar los estímulos)

Comentar todo lo

del reloj 1

Insertar estímulos 2

Comprobar y

simular 3 Para poner comentarios

Simulación ISIM (comprobar la tabla)