Sistemas digitales II                                                                                                     ...
Sistemas digitales II                                                                           VHDLI.-IntroducciónBreve r...
Sistemas digitales II                                                                              VHDLSin embargo, estos ...
Sistemas digitales II                                                                             VHDLII.-Definiciones   2...
Sistemas digitales II                                                                      VHDLsistema previamente impleme...
Sistemas digitales II                                                                            VHDL            No existe...
Sistemas digitales II                                                                              VHDLEjemplo 3.1Describi...
Sistemas digitales II                                                                            VHDLPORT (a:           IN...
Sistemas digitales II                                                                              VHDLEsta descripción co...
Sistemas digitales II                                                                           VHDLestructural, ya que en...
Sistemas digitales II                                                                            VHDLprincipio el nombre p...
Sistemas digitales II                                                                             VHDLUna entidad puede co...
Sistemas digitales II                                                                                 VHDLTIPOS DE DATOSLo...
Sistemas digitales II                                                                            VHDLEjemplos de entidades...
Sistemas digitales II                                                                            VHDL3.3.2.-Arquitectura V...
Sistemas digitales II                                                                            VHDLAnd2x con BIT        ...
Sistemas digitales II                                                                                 VHDLBusesLos buses s...
Sistemas digitales II                                                    VHDL4.-Ejemplos aplicativos:4.1.-Sumador completo...
Sistemas digitales II                                                                      VHDL4.2.-Flip-Flop JKFlip-Flop ...
Sistemas digitales II                                                               VHDL4.3.- Descodificador de 7 segmento...
Sistemas digitales II                                               VHDL5.-AnexosTabla de operadores                      ...
Sistemas digitales II                                                                              VHDLHerramientas      ...
Sistemas digitales II                                                                                    VHDL-Fabricantes ...
Próxima SlideShare
Cargando en…5
×

Vhd(sistemas digitales ii trabajo)

781 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
781
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
23
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Vhd(sistemas digitales ii trabajo)

  1. 1. Sistemas digitales II VHDLINDICE1.-Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1.-Brebe reseña histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.-Definiciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.-HDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.-VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1.-Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2.-Ventajas y limitaciones .......................... 53.-Lenguaje VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.-Aspectos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.-Estilos de descripción en VHDL . . . . . . . . . . . . . . . . . . . . . . . 63.2.1.-Descripción algorítmica . . . . . . . . . . . . . . . . . . . . . . . . . 73.2.2.-Descripcion flujo de datos ......................93.2.3.-Descripción estructural . . . . . . . . . . . . . . . . . . . . . . . . . .10 3.3.-Sintaxis y semántica básica de VHDL . . . . . . . . . . . . . . . . . .11 3.3.1.-Entidad VHDL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 3.3.2.-Arquitectura VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154.-Ejemplos aplicativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 4.1.-Sumador completo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.-Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3.- Descodificador de 7 segmentos . . . . . . . . . . . . . . . . . . . 205.-Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 16.-Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Ingeniería Electrónica | UNSAAC
  2. 2. Sistemas digitales II VHDLI.-IntroducciónBreve reseña históricaA mediados de los años sesenta se produce una fuerte evolución en losprocesos de fabricación de los circuitos integrados, y junto a lastecnologías bipolares, surgen la MOS, principalmente la NMOS,promoviendo el desarrollo de circuitos digitales hasta la primera mitad delos ochenta.En aquellas épocas, el esfuerzo de diseño se concentraba en los niveleseléctricos de establecer características e interconexiones entre loscomponentes básicos a nivel de transistor. El proceso de diseño eraaltamente manual y tan solo se empleaban herramientas como el PSPICE,para la simulación de esquemas eléctricos con modelos previamentepersonalizados, a las distintas tecnologías.A medida que pasaban los años, los procesos tecnológicos se hacían másy más complejos. Los problemas de integración iban en aumento y losdiseños eran cada vez más difíciles de depurar y de dar mantenimiento.Inicialmente los circuitos M.S.I.y L.S.I. se diseñaron medianamente larealización de prototipos basados en módulos más sencillos. Cada uno deestos módulos estaba formado por puertas ya probadas, este métodopoco a poco, iba quedándose obsoleto. En ese momento (finales de losaños sesenta) se constata el enorme desfase entre tecnología y diseño.La considerable complejidad de los chips que se pueden fabricar, implicaunos riesgos y costes de diseño desmesurados e imposibles de asumir porlas empresas. Es entonces, cuando diversos grupos de investigadoresempiezan a crear y desarrollar los llamados “lenguajes de descripción dehardware” con sus características diferentes.Empresas tales como IBM con su IDL, el TI-HDL de Texas Instruments, ZEUS deGeneral Electric, etc., así como los primeros prototipos empleados en lasuniversidades, empezaron a desarrollarse buscando una solución a los 2problemas que presentaba el diseño de los complejos sistemas. Ingeniería Electrónica | UNSAAC
  3. 3. Sistemas digitales II VHDLSin embargo, estos lenguajes nunca alcanzaron el nivel de difusión yconsolidación necesarias por motivos distintos. Unos, los industriales, por serpropiedad de la empresa permanecieron encerrados en ellas y noestuvieron disponibles para su estandarización y mayor difusión, los otros,los universitarios, perecieron por no disponer de soporte ni mantenimientoadecuado.Alrededor de 1981 el departamento de Defensa de los Estados Unidosdesarrolla un proyecto llamado VHSIC (Very High SpeedIntegratedCircuit)su objetivo era rentabilizar las inversiones en hardware haciendo mássencillo su mantenimiento. Se pretendía con ello resolver el problema demodificar el hardware diseñado en un proyecto para utilizarlo en otro, loque no era posible hasta entonces porque no existía una herramientaadecuada que armonizarse y normalizarse dicha tarea, era el momento delos HDL‟s.VHDL vs M.S.I.En 1983, IBM, Intemetricsy Texas Istruments empezaron a trabajar en eldesarrollo de un lenguaje de diseño que permitiera la estandarización,facilitando con ello, el mantenimiento de los diseños y la depuración de losalgoritmos, para ello el IEEE propuso su estándar en 1984.Tras varias versiones llevadas a cabo con la colaboración de la industria yde las universidades, que constituyeron a posteriori etapas intermedias enel desarrollo del lenguaje. El IEEE adoptó en diciembre de 1987 a VHDLcomo su lenguaje HDL, dando un impulso a éste frente a sus competidores.El estándar IEEE std 1076-1987 que constituyó el punto firme de partida delo que después de cinco años sería ratificado como VHDL.La independencia en la metodología de diseño, en el proceso defabricación, su versatilidad para la fabricación de sistemas de complejas,su posibilidad de reutilización, han hecho que VHDL se convierta con elpaso del tiempo en el lenguaje de descripción de hardware porexcelencia. 3 Ingeniería Electrónica | UNSAAC
  4. 4. Sistemas digitales II VHDLII.-Definiciones 2.1.-HDL.-Los lenguajes de descripción hardware (HDLs, Hardware DescriptionLanguages) permiten modelar sistemas digitales completos.Mediante herramientas de software estos modelos pueden luego “sintetizarse” para implementarlos como circuitos reales.La utilización de HDLs y su posterior síntesis pueden tener como objetivo la creación de un circuito integrado de propósito específico (ASICs) o la implementación del circuito en algún dispositivo de lógica programable (PLD‟s). Al utilizar un HDL es importante tener en cuenta que se está modelando hardware, y no escribiendo software.Existen varios HDLs pero dos son los que predominan: Verilog y VHDL. 2.2.-VHDL 2.2.1.-Definición.- El significado de las siglas VHDL es VHSIC (Very High SpeedIntegratedCircuit) Hardware DescriptionLanguage, es decir, lenguaje de descripción hardware de circuitos integrados de muy alta velocidad. VHDL es un lenguaje de descripción y modelado, diseñado para describir, es una forma en que los humanos y máquinas puedan leer y entender la funcionalidad y la organización de sistemas hardware digitales, placas de circuitos y componentes. VHDL fue diseñado como un lenguaje para el modelado y simulación lógica dirigida por eventos de sistemas digitales, y actualmente se utiliza también para síntesis automática de circuitos. VHDL es un lenguaje con una sintaxis amplia y flexible que permite el modelado estructural, en flujo de datos y de comportamiento de hardware. VHDL permite el modelado preciso, en distintos estilos, del comportamiento de un sistema digital conocido y desarrollado en modelos de simulación. Uno de los objetivos del lenguaje VHDL es el modelado. Modelado es 4 el desarrollo de un modelo para la simulación de un circuito o Ingeniería Electrónica | UNSAAC
  5. 5. Sistemas digitales II VHDLsistema previamente implementado cuyo comportamiento, portanto, se conoce. El objetivo de modelado es la simulación.2.2.2.-Ventajas y limitaciones.-La síntesis a partir de VHDL constituyehoy en día una de las principales aplicaciones del lenguaje con unademanda de uso. Las herramientas de síntesis basadas en ellenguaje permiten en la actualidad ganancias importantes en laproductividad de diseño.Algunas ventajas del uso de VHDL para la descripción de hardwareson: VHDL permite diseñar, modelar y comprobar un sistema desde un alto nivel de abstracción bajando hasta el nivel de definición estructural de puertas. Circuitos descritos utilizando VHDL, siguiendo unas guías para síntesis, pueden ser utilizados por diversas herramientas de síntesis para crear e implementar circuitos. Los módulos creados en VHDL pueden utilizarse en diferentes diseños, lo que permite la reutilización del código. Además, la misma descripción puede utilizarse para diferentes tecnologías sin tener que rediseñar todo el circuito. Al estar basado en un estándar (IEEE std 1076-1987, IEEE std 1076-1993) los ingenieros de toda la industria de diseño pueden usar este lenguaje para minimizar errores de comunicación y problemas de compatibilidad. VHDL permite diseño Top-Down, esto es, describir (modelar) el comportamiento de los bloques de alto nivel, analizarlos (simularlos) y refinar su funcionalidad en alto nivel requerida antes de llegar a niveles más bajos de abstracción de la implementación del diseño. Modularidad: VHDL permite dividir o descomponer un diseño hardware y su descripción VHDL en unidades más pequeñas.Alguna de las limitaciones que presenta el uso de VHDL son: No permite describir sistemas analógicos. Sin embargo ya se 5 están desarrollando versiones analógicas y mixtas. Ingeniería Electrónica | UNSAAC
  6. 6. Sistemas digitales II VHDL No existe un estilo de descripción normalizado. Para síntesis se requiere ajustar los estilos disponibles a la capacidad de herramientas CAD. Es posible sintetizar lógica solo de un subconjunto del lenguaje. Las herramientas de síntesis no soportan los mismos subconjuntos, y existen a veces diferencias al mudar de herramientas.3.-Lenguaje VHDL 3.1.-Aspectos generalesEl VHDL va a ser interesante puesto que va a permitir dos tipos dedescripciones:Estructura:VHDL puede ser usado como un lenguaje de netlistnormal ycorriente y corriente donde se especifican por un lado los componentesdel sistema y por otro sus conexiones.Comportamiento: VHDL también se puede utilizar para la descripcióncomportamental o funcional de un circuito. Esto es lo que distingue de unlenguaje de Netlist. Esto es especialmente útil en simulación, ya quepermite simular un sistema sin conocer su estructura interna.Muchas veces la descripción comportamental se divide a su vez en dos,dependiendo del nivel de abstracción y del modo en que se ejecutan lasinstrucciones. Estas dos formas comportamentales de describir circuitos sonlas de flujo de datos y algorítmica. 3.2.-Estilos de descripción en VHDLVHDL presenta tres estilos de descripción de circuitos dependiendo delnivel de abstracción. El menos abstracto es una descripción puramenteestructural. Los otros dos estilos representan una descripcióncomportamental o funcional, y la diferencia viene de la utilización o no dela ejecución serie. 6Mediante un sencillo ejemplo, que además sirve para ilustrar la forma enque se escriben descripciones en VHDL, se van a mostrar estos tres estilosde descripción. Ingeniería Electrónica | UNSAAC
  7. 7. Sistemas digitales II VHDLEjemplo 3.1Describir en VHDL un circuito que multiplexe dos líneas deentrada (a y b)de un bit, a una sola línea (salida) también de un bit; laseñal selec sirve para seleccionar la línea a(selec=’0’) o b(selec=’1’).En la fig. 6 se muestra el circuito implementado con puertas lógicas querealiza la función de multiplexación. Fig. 6 Ejemplo básico de un esquema en VHDL 3.2.1.-Descripción algorítmicaLa sintaxis del VHDL no es sensible a mayúsculas, por lo que se puededescribir como se prefiera. A lo largo de las explicaciones se pondránsiempre las palabras clave del lenguaje en mayúsculas para distinguirlas delas variables y otros elementos. Esto no significa que durante la descripciónde diseños se tenga que hacer así, de hecho resulta más rápido escribirsiempre en minúsculas.En primer lugar, sea el tipo de descripción que sea, hay que definir elsímbolo o entidad del circuito. En efecto, lo primero es definir las entradas ysalidas del circuito, es decir, la caja negra que lo define. Se llama entidadpor que la sintaxis de VHDL esta parte se declara con la palabra claveENTITY. Esta definición de entidad, que suele ser la primera parte de todala descripción VHDL, se expone a continuación:-- Los comentarios empiezan con dos guiones 7ENTITY mux IS Ingeniería Electrónica | UNSAAC
  8. 8. Sistemas digitales II VHDLPORT (a: IN bit;B:IN bit; C: IN bit; Salida: OUT bit);ENDmux;Ésta porción del lenguaje indica que la entidad mux (que es el nombreque se le ha dado al circuito) tiene tres entradas de tipo bit y una salidatambién de tipo bit. Simplemente indica un línea que puede tomarvalores „0‟ ó „1‟.La entidad de un circuito es única. Sin embargo, se mostró que un mismosímbolo, en este caso entidad, podía tener varias vistas, que en el caso deVHDL se llaman arquitecturas. Cada bloque de arquitectura, que es dondese describe el circuito, puede ser una representación diferente del mismocircuito. Por ejemplo, puede haber una descripción estructural y otracomportamental, ambas son descripciones diferentes, pero ambascorresponden al mismo circuito, símbolo, o entidad. Se muestra acontinuación la descripción comportamental del multiplexor:ARCHITECTURE comportamental OF mux ISBEGINPROCESS(a,b,selec)BEGINIF (selec=0) THENsalida<=a; ELSEsalida<=b;END IF;END PROCESS;END comportamental;Más adelante se verá lo que hace un bloque PROCESS, de momento, ycomo primera aproximación, se considerará que es una especie desubrutina cuyas instrucciones se ejecutan secuencialmente cada vez que 8alguna de las señales de la lista sensible cambia. Esta lista sensible es unalista de señales que suele poner junto a la palabra clave PROCESS, y en elcaso del ejemplo es (a, b, selec). Ingeniería Electrónica | UNSAAC
  9. 9. Sistemas digitales II VHDLEsta descripción comportamental es muy sencilla de entender, ya quesigue una estructura parecida los lenguajes de programaciónconvencionales. Es por lo que se dice que se trata de una descripcióncomportamental algorítmica. Lo que se está indicando es simplementeque si la señal selec es cero, entonces la salida es la entrada a, y si selec esuno, entonces la salida es la entrada b. Esta forma tan sencilla de describirel circuito permite a ciertas herramientas sintetizar el diseño a partir de unadescripción comportamental como la que se acaba de mostrar. Ladiferencia con un Netlist es directa: en una descripción comportamentalno se están indicando ni los componentes ni sus interconexiones, sinosimplemente lo que hace, es decir, su comportamiento o funcioamiento.3.2.2.-Descripcion flujo de datos.- La descripción anterior era puramentecomportamental, de manera que con una secuencia sencilla deinstrucciones se podría describir el circuito. Naturalmente, a veces resultamás interesante describir el circuito de forma que esté más cercano a unaposible realización física del mismo. En ese sentido VHDL posee una formade describir circuitos que además permite la paralelización deinstrucciones, y que se encuentra más cercana a una descripciónestructural del mismo, siendo todavía una descripción funcional. Acontinuación se muestran dos ejemplos de una descripción concurrente,también llamada de flujo de datos o de transferencia entre registros:ARCHITECTURE flujo1 OF mux IS END flujo1;SIGNALnosel,ax,bx:bit;BEGIN ARCHITECTURE flujo2 OF mux ISnosel<=NOTselec; BEGINax<=a ANDnosel; salida<=a WHENselec=0 ELSEbx<=b ANDselec; b;salida<=ax ORbx; END flujo2;En la descripción de la izquierda hay varias instrucciones todas ellasconcurrentes, es decir, se ejecutan cada vez que cambia alguna de lasseñales que intervienen en la asignación. Este primer caso es casi una 9descripción estructural, ya que de alguna manera se están describiendolas señales (cables) y los componentes que la definen; aunque no es Ingeniería Electrónica | UNSAAC
  10. 10. Sistemas digitales II VHDLestructural, ya que en realidad se trata de asignaciones a señales y no unalista de componentes y conexiones. El segundo caso (derecha) es tambiénuna descripción de flujo de datos, aunque basta una única instrucción deasignación para definir el circuito.3.2.3.-Descripción estructural.- Aunque no es la característica másinteresante del VHDL, también permite ser usado como Netlist o lenguajede descripción de estructura. En este caso esta estructura también estaríaindicada dentro de un bloque de arquitectura, aunque la sintaxis interna escompletamente diferente:ARQUITECTURAestructuraOF mux ISSIGNALax,bx,nosel:bit;BEGIN u0:ENTITYinvPORT MAP(e=>selec,y=>nosel); u1:ENTITY and2 PORT MAP(e1=>a,e2=>nosel,y=ax);u2:ENTITY and2 PORT MAP(b,selec,bx);u3:ENTITY or2 PORT MAP(e1=>ax,e2=>bx,y=salida);END estructura;Se observa fácilmente que esta descripción es un poco más larga u muchomenos clara que las anteriores. En el cuerpo de la arquitectura se hace loque en un Netlist normal, es decir, se ponen los componentes y susinterconexiones. Para los componentes se utilizarán entidades que estarándefinidas en alguna biblioteca, y para las conexiones se usarán señalesque se declararán al principio de la arquitectura. Al igual que ocurre en cualquier netlis, las señales o conexiones debentener un nombre. En el esquema se le han puesto nombres a las líneas deconexión internas al circuito. Estas líneas hay que declararlas como SIGNALen el cuerpo de la arquitectura y delante del BEGIN. Una vez declaradaslas señales que intervienen se procede a conectar entre sí las señales yentidades que representan componentes. Para ello la sintaxis es muysimple. Lo primero es identificar y poner cada componente, que es lo que 10comúnmente se conoce como replicación, es decir, asignarle a cadacomponente concreto un símbolo. En este ejemplo se le ha llamado u acada componente y se le ha añadido un número para distinguirlos, en Ingeniería Electrónica | UNSAAC
  11. 11. Sistemas digitales II VHDLprincipio el nombre puede ser cualquier identificador válido y la únicacondición es que no haya dos nombres iguales. A continuación delnombre viene la entidad correspondiente al componente, que en estecaso puede ser una and2, una or2 o una puerta inversora inv. Después serealizan las conexiones poniendo cada señal en su lugar correspondientecon las palabras PORT MAP. Así los dos primeros argumentos en el caso dela puerta and2 son las entradas, y el último es la salida. De esta forma tansimple se va creando el netlisto definición de la estructura. 3.3.-Sintaxis y semántica básica de VHDLLos circuitos digitales realizan operaciones (sumas, comparaciones,cuentas, almacenamiento, etc.) sobre señales digitales utilizando unacombinación de puertas lógicas, registros, memorias y dispositivos deentrada y salida. VHDL provee varios tipos de datos, operadores ysentencias para modelar el funcionamiento del circuito lógico yrepresentar sus señales y componentes.Una descripción de un circuito en VHDL se hace en dos partes claramentedefinidas para separar la interfaz del circuito lógico (entidad) de laimplementación de la función lógica (arquitectura). Toda descripcióncircuital en VHDL consta de una única entidad y de una o másarquitecturas. Puede existir más de una arquitectura para una entidadporque usualmente es posible definir varias soluciones para una funciónlógica.3.3.1.-Entidad VHDL.-La entidad (ENTITY) es un bloque que define laconfiguración de las entradas y salidas del circuito, es decir, especificasu interfaz o la manera en que el circuito puede ser usado o conectado aotros circuitos. También sirve para definir parámetros del circuito(números de bits, límites de cuentas). La sintaxis de una entidad es: 11 Ingeniería Electrónica | UNSAAC
  12. 12. Sistemas digitales II VHDLUna entidad puede contener dos secciones: GENERIC y PORT. En laprimera sección podemos colocar parámetros del diseño, y en PORT seidentifican los puertos de interfaz del circuito. Cada puerto es una señalque tiene nombre (identificador de la señal), modo de conexión y tipo dedato.En las descripciones VHDL es indiferente utilizar letras mayúsculas ominúsculas, a excepción de los valores constantes que usualmente sedeben colocar en mayúsculas. Los comentarios se insertanen cada líneaescribiendo primero dos guiones seguidos (--).MODOde las señalesExisten cuatro modos de interconexión de las señales con el medio exterior:IN La señal es una entrada al circuito. No puede ser escrita, es decir, a estaseñal no se le puede asignar un valor, solamente puede ser leída yutilizada como operando en funciones internas.OUT Salida únicamente. La señal sale del circuito. A esta señal se le puedeasignar un valor pero no puede ser leída o utilizada como operando enfunciones internas.INOUT La señal es bidireccional, es decir, de entrada y salida. Puede serleída y escrita. 12BUFFER Salida que puede ser utilizada como operando en el circuito,es decir, puede formar parte de expresiones para asignar a otras señalesen el circuito. Ingeniería Electrónica | UNSAAC
  13. 13. Sistemas digitales II VHDLTIPOS DE DATOSLos tipos de datos utilizados para síntesis en VHDL son INTEGER, BIT,BIT_VECTOR, STD_LOGIC y STD_LOGIC_VECTOR. Además VHDL proveeoperadores y tipos de datos para documentación y simulación tales comoREAL y TIME.INTEGER Se utiliza con números enteros.BIT Puede contener 0 ó 1 (se usa comilla simple).BIT_VECTOR Puede contener un bus, vector o grupo de datos de tipo BIT. Las constantes de este tipo se especifican con una cadena de ceros y unosencerrados entre comillas dobles como en "00101101", "0101", "00".STD_LOGIC Tiene los valores 0, 1, –, Z y 5 otros valores más no utilizando para síntesis lógica. El valor – es de no importa y Z (en mayúscula) esvalor de tres estados.STD_LOGIC_VECTOR El tipo es un bus de datos STD_LOGIC.Los tipos STD_LOGIC y STD_LOGIC_VECTOR se prefieren en el ámbitoindustrial. Para utilizar estos tipos es necesario insertar el paquetestd_logic_1164 de la biblioteca IEEE.Para manejar buses, grupos de bits, se emplea BIT_VECTOR oSTD_LOGIC_VECTOR. En general, un bus de N bits puede ser declarado devarias maneras:BIT_VECTOR(N – 1 DOWNTO 0)BIT_VECTOR(N DOWNTO 1)BIT_VECTOR(1 TO N)BIT_VECTOR(0 TO N – 1)BIT_VECTOR(10 TO N + 9)BIT_VECTOR(N + 19 DOWNTO 20) 13 Ingeniería Electrónica | UNSAAC
  14. 14. Sistemas digitales II VHDLEjemplos de entidadesOR de dos entradas de tipo STD_LOGIC (requiere el paquetestd_logic_1164de la bibliotecaIEEE)AND de N entradas de tipo BIT. La salida s es la función AND de todos losbits de la señal a.Multiplexor de dos canales de cuatro bits cada uno. Las señales a y b sonbuses de datos de tipo STD_LOGIC_VECTOR. La señal s es el selector, f es lasalida del multiplexor. 14 Ingeniería Electrónica | UNSAAC
  15. 15. Sistemas digitales II VHDL3.3.2.-Arquitectura VHDL.-En la arquitectura se define elfuncionamiento delcircuito lógico declarado en la entidad. Es posiblecrear varias formas deun circuito lógico y para ello una entidad puede tener asociadasvarias arquitecturas. De este modo podemos tener opciones de diseñopara solucionar un mismo problema.Su sintaxis básica es:Las sentencias más utilizadas en la definición de circuitos son laasignación directa, la asignación selectiva, la asignación condicional, elproceso y la instanciación de componentes. Estas sentencias sonconcurrentes entre sí, es decir, no importa el orden en que aparezcan en ladescripción.Las señales internas del circuito se declaran en la arquitectura con unnombre y un tipo de dato.A continuación se muestran dos versiones de modelado para una funciónAND de dos entradas. Una versión emplea datos de tipo BIT y la otraemplea datos de tipo STD_LOGIC. La salida s se defineen la arquitecturacomo el resultado de la operación AND de las entradas a y b. Noteque para asignar a una señal una expresión se utiliza el signo < seguido delsigno =. 15 Ingeniería Electrónica | UNSAAC
  16. 16. Sistemas digitales II VHDLAnd2x con BIT And2x con STD_LOGICOperadoresLos operadores sirven para realizar las funciones lógicas y aritméticas delcircuito.Los datos de tipo INTEGER se pueden sumar (+) y restar (-). También esposible multiplicarlos (*).Los datos de tipos STD_LOGIC ySTD_LOGIC_VECTOR pueden sumarse y restarse usando paquetes de labiblioteca IEEE.Los datos de tipo INTEGER, BIT, BIT_VECTOR, STD_LOGIC ySTD_LOGIC_VECTOR pueden ser comparados con los operadoresrelacionales igual (=), diferente (/=), menor (<), menor o igual (<=), mayor(>), mayor o igual (>=).Los operadores lógicos son AND, OR, NOT, NAND, NOR y XOR. Se utilizancon los tipos de datos BIT, BIT_VECTOR, STD_LOGIC y STD_LOGIC_VECTOR. 16 Ingeniería Electrónica | UNSAAC
  17. 17. Sistemas digitales II VHDLBusesLos buses se utilizan frecuentemente en el diseño digital. Por ejemplo, si f esuna señal interna de un circuito de 3 bits, podríamos declararla en laarquitectura, antes de BEGIN, como: SIGNAL f: BIT_VECTOR(2 DOWNTO 0);De esta manera, f es una señal de tres bits con el bit más significativoidentificado como f(2), el bit intermedio como f(1) y el bit menossignificativo como f(0). En el cuerpo de la arquitectura, después deBEGIN, a f puede asignársele un valor como "110" así: f <= "110";Lo que es equivalente a hacer tres asignaciones: f(0) <= 0; f(1) <= 1; f(2) <= 1;Si queremos agrupar tres señales binarias en una sola señal podemosutilizar el operador de concatenación &. Así, si se declara: SIGNAL a, b, c: STD_LOGIC;Entonces la asignación:f <= a & b & c;es equivalente a: f(2) <= a; f(1) <= b; f(0) <= c;También podemos hacer agrupaciones compuestas. Si r es una señalde ocho bits y t de 1 bit, podemos agrupar en x algo complejo como: x <= 0 & r & "01" & t;En este caso x debe haber sido definido como un bus de 1 + 8 + 2 + 1 =12 bits. Note que los valores constantes de bits van entre comillas 17simples (1, 0) y los valores de buses van entre comillas dobles ("01","110"). Ingeniería Electrónica | UNSAAC
  18. 18. Sistemas digitales II VHDL4.-Ejemplos aplicativos:4.1.-Sumador completo 18 Ingeniería Electrónica | UNSAAC
  19. 19. Sistemas digitales II VHDL4.2.-Flip-Flop JKFlip-Flop JK activado por flanco positivo: 19 Ingeniería Electrónica | UNSAAC
  20. 20. Sistemas digitales II VHDL4.3.- Descodificador de 7 segmentosSalidas activas en bajaSalidas activas en alta 20 Ingeniería Electrónica | UNSAAC
  21. 21. Sistemas digitales II VHDL5.-AnexosTabla de operadores 21 Ingeniería Electrónica | UNSAAC
  22. 22. Sistemas digitales II VHDLHerramientas  Warp  Altera  Xilinx  ActiveVHDL  GHDL (GNU)  Max+Plus II  Quartus II  ModelSim/ISE  Otros programas están incluyendo en sus últimas versiones la capacidad de programar FPGA usando sus propios lenguajes, pero también incluyen módulos en VHDL, por ejemplo Protel DXP, Labview o Matlab.-Fabricantes de FPGA  Actel  Altera - Max Plus II, Quartus II  Atmel  Cypress  Lattice  QuickLogic  Xilinx - ISE, Modelsim 22 Ingeniería Electrónica | UNSAAC
  23. 23. Sistemas digitales II VHDL-Fabricantes de herramientas  Aldec-ActiveVHDL  GHDL  IEEE  IEEE estándar 1164  Sintaxis de la revisión del 93  Synplicity. Herramientas de síntesis física y verificación de diseño  Mentor Graphics. Herramientas de síntesis física, simulación y otras relacionadas con diseño microelectrónico, sistemas embebidos, diseño de PCB, etc.6.-Bibliografía • VHDL: Lenguaje para síntesis y modelado de circuitos, Fernando Pardo, José A. Boluda. • Tutorial VHDL, Arturo J. Miguel de Priego Paz Soldán. • Diseño Digital con Lógica Programable y Lenguajes de Descripción de Hardware, Arturo J. Miguel de Priego Paz Soldán. • Diseño de circuitos digitales con VHDL, Felipe Machado, Susana Borromeo. 23 Ingeniería Electrónica | UNSAAC

×