Intro VHDL - Lecture notes 1 PDF

Title Intro VHDL - Lecture notes 1
Author Dulce Elizabeth Mendoza de la Vega
Course Diseño digital
Institution Universidad Nacional Autónoma de México
Pages 11
File Size 484.7 KB
File Type PDF
Total Downloads 97
Total Views 148

Summary

asf...


Description

División de Ingeniería Eléctrica Facultad de Ingeniería UNAM

Diseño Digital en VHDL

M.I. MA. DEL SOCORRO GUEVARA RODRÍGUEZ

Descripción de diseños digital usando herramientas de software Existen diferentes formas de describir la funcionalidad de un circuito digital a través de herramientas descriptivas soportadas sobre la base del diseño lógico.

Descripción estructural. Consiste en instanciar los componentes o bloques, así como sus interconexiones. Existen dos formas de descripción estructural.

Gráfica o esquema. Es una forma tradicional de describir en un formato gráfico los componentes y conexiones de un diseño lógico.

Lenguaje. Se realiza una descripción de los componentes, sus conexiones mediante un lenguaje computacional que describa el comportamiento de este sistema digital.

Descripción comportamental o funcional. Consiste en poder describir un circuito digital por medio de características asociadas puramente el comportamiento del arreglo digital, también se puede utilizar un lenguaje descriptivo del diseño.

Algorítmico. Define la funcionalidad de un circuito mediante un algoritmo sin importar el cómo se conformó la estructura digital.

Descripción por flujo de datos. Conjunto de ecuaciones ejecutadas concurrentemente, que determina el comportamiento del diseño a describir.

Diseño en forma de gráfico. Los símbolos gráficos son elementos prediseñados que son como cajas que contienen unidades de diseño, tales como símbolos básicos, y en orden creciente se va subiendo en su complejidad digital, eso depende de los símbolos prediseñados en el software que se está utilizando. La interconexión de los distintos símbolos para efectuar un diseño de un circuito en forma gráfica se utilizan líneas, pero en realidad esas líneas que dibujamos son cables de conexiones entre los elementos lógicos (físicamente podría tratarse de una pista de cobre en una PCB). También se pueden utilizar buses de conexión, los cuales nos representan múltiples conexiones. Por la complejidad de los diseños, con infinidad de conexiones se pueden utilizar etiquetas a los pines o conexiones llamadas índices, el utilizar esos nombres en el diseño, nos indica conexión realizada entre elementos que pueden ser muy próximos o lejanos dentro del ambiente de edificación grafica. Algo muy importante son los puestos de entrada, salida o bidireccionales que nos indica la dirección del flujo de información, no olvidar que nos indican conexiones al exterior, como pueden ser pines de entrada y salida.

Todo diseño en un formato gráfico con sus múltiples símbolos trabaja de forma concurrente. (simultaneo) como un arreglo real. El poder describir circuitos lógicos en un gráfico cada vez más complejos hacen que las herramientas de apoyo que, aunque utilizan lenguaje de descriptivo de programación, se obtienen diseños complejos que utilizan muchos recursos. El interés de describir un circuito directamente por un lenguaje permite hacer diseños de forma más rápida y sencilla, además de poder realizar circuitos más complejos apoyados a través de un formato funcional no como en un gráfico que se describe en forma estructural.

Diseño en lenguaje de descripción de hardware (VHDL) VHDL surge a principios de los 80´s de un proyecto DARPA (Departamento de Defensa de los EE. UU.) llamado VHSIC-Very High Speed Integrated Circuits. Aparece como una manera de describir circuitos integrados, originalmente como una manera estándar de documentar los circuitos digitales. En 1987 el lenguaje fue cedido al IEEE, y a partir de ese momento es un estándar abierto. El significado de las siglas VHDL (Hardware Description Language), Lenguaje Descripción de Hardware, fue desarrollado como un lenguaje para el modelado y simulación de sistemas digitales. El VHDL es un lenguaje amplio y flexible que permite cualquier tipo de modelado utilizando cualquier estilo de descripción de circuitos lógicos (Descripción estructural, comportamental, flujo de datos) de forma precisa. Una ventaja de utilizar VHDL es que al utilizar los mismos estándares se hacen compatibles y utilizables entre ellos, con ello permite dividir o descomponer un diseño en secciones más pequeñas. En VHDL también existen dos formas generales de describir un sistema, una indicando los diferentes componentes y sus conexiones para con ello indicar cómo funciona (Gráfico). La segunda forma en que se describe un circuito mostrando como funciona o lo que hace, de forma comportamental, la podemos dividir en dos formas dependiendo de su complejidad y el modo en que se ejecutan las instrucciones (flujo de datos y algorítmica), dada la diferencia de ejecutar las instrucciones en forma de serie o paralelo.

Módulos básicos en un código en VHDL: Declaraciones de bibliotecas Las declaraciones de bibliotecas en una lista y sus correspondientes paquetes que el compilador necesita para procesar el diseño. LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL;

Entidad Es una lista con especificaciones para los puertos de entradas y salidas de un circuito bajo diseño. En él se alojan generalmente parámetros que deben ser declarados, así como algunas otras declaraciones, subprogramas y declaraciones concurrentes. ENTITY nombre_entidad IS GENERIC ( nombre_constante1: tipo_constante:= valor; nombre_constante2: tipo_constante:= valor; nombre_n’constantes: tipo_constante:= valor; ); PORT ( nombre_puerto1: modo_señal tipo de señal; nombre_puerto2: modo_señal tipo de señal; nombre_puerto’n: modo_señal tipo de señal; ); END nombre_entidad;

GENERIC: aloja la declaración de constantes genéricas, los cuales pueden ser usadas en cualquier parte del código, incluido en el puerto. PORT: modo señal: in y out son unidireccionales. inout es bidireccional. Buffer es necesario cuando una señal puede ser leída de manera interna. tipo de señal: bit, bit_vector, integer, std_logic, std_logic_vector, booleano, etc.

Declaración VHDL de la entidad. ENTITY mi_diseño IS PORT ( clk,rst: IN std_logic; d: IN std_logic_vector (0 to 7); q: OUT std_logic_vector(7 DOWNTO 0) ); END mi_diseño;

Arquitectura Es la parte que contiene el código propio (los circuitos destinados a la descripción mediante flujo de datos, estructural o algorítmico). Este puede ser concurrente o secuencial. Por flujo de datos o estructural son adecuados para el diseño de circuitos combinacionales, mientras que algorítmico puede ser usado para diseño secuenciales, sin olvidar los circuitos combinacionales.

ARCHITECTURE nombre_arquitectura OF nom_entidad IS (Parte declarativa) BEGIN (Código) END nombre_arquitectura;

Tipos de variables y señales en VHDL Tipo de variable

Valor

BIT STD_LOGIC INTEGER BIT_VECTOR STD_LOGIC_VECTOR

0o1 U,X,0,1,Z,W,L,H Números enteros Múltiples casos de 0 o 1 Múltiples casos de U,X,0,1,Z,W,L,H

Sintetizables

No sintetizables

0 1 Z

forzado a cero forzado a uno Don´t Care alta impedancia

W L H U X

Forma de escribir Comillas simples Comillas simples Sin comillas Comillas dobles Comillas dobles

desconocido débil débil 0 débil 1 no inicializada, valor por defecto. Desconocido. Debido a un corto circuito

Ejemplo ‘0’, ‘1’ ‘X’, ‘0’, ‘1’, ‘Z’ 4095, 7,-120,-1 “1110110” “11001100”, “00ZZ11”, “ZZZZZZ”

Asignación de señales

Declaración de una señal de 8 bits

SIGNAL nom_variable: std_logic_vector(7 downto 0);

Asignación de un valor binario (cadena o vector)

nom_variable...


Similar Free PDFs