introduccion al programa active HDL

download introduccion al programa active HDL

of 19

description

manera de usar el programa active HDL para circuitos secuenciales

Transcript of introduccion al programa active HDL

INTRODUCCIN

ANTECEDENTES

1.1 Matriz Genrica Programable

ACTIVE HDL 3.6 es un software basado en lenguaje VHDL y Verilog que nos permite realizar simulaciones de diversos sistemas, es un ambiente completo y totalmente integrado para el diseo y la verificacin de diseos digitales [1].El enfoque de este trabajo es la implementacin de circuitos lgicos digitales en VHDL para efectuar la simulacin de circuitos y consta de siete secciones. Enla seccin II se llevara a cabo un anlisis de la estructura general de la codificacin en VHDL, en la seccin III se presenta una metodologa para elmodelado de circuitos lgicos digitales, en la seccin IV se presentara la interfaz grafica as como la descripcin y definicin de las caractersticasprincipales de los asistentes que conforman esta herramienta de diseo. En la seccin V se darn ejemplos del modelado de circuitos digitales, en la seccin VI se presentaran las opciones de simulacin que integra Active HDL 3.6.

1.2 OBJETIVOS1.2.1 GENERALES Aprender a disear y simular circuitos digitales por medio del programa ACTIVE HDL. En este documento se presentan de manera detallada los pasos a seguir desde el planteamiento de un circuito digital.

CAPITULO 2

MARCO TEORICO2.1 LENGUAJE DE DESCRIPCIN DE HARDWARE.

VHDL es el acronimo de Very High Speed Integrated Circuit Hardware Description Language, el cual es un lenguaje de programacin aplicado a la descripcin de circuitos lgicos y su implementacin en SICs(Specific Integrated Circuits), FPGAs (Field-Programmable Gate Array) y circuitos digitales convencionales [2], de acuerdo a su funcin, al comportamiento del flujo en sus datos o bien a su estructura. Aunque VHDL no fue diseado para su implementacin en lenguajes de propsito general, esposible disear algoritmos con este lenguaje, la mayora de su sintaxis deriva del lenguaje Ada [3]. VHDL fue diseado para satisfacer numerosasnecesidades en el proceso de diseo. Es posible realizar la especificacin de las funciones para los diseos mediante el uso de un lenguaje de programacin pero sobre todo posee la capacidad de simular el diseo antes de su fabricacin, dando as a los fabricantes la posibilidad de comparar alternativasy realizar pruebas correctivas sin el retraso y el costo que implica la construccin de prototipos del hardware [4]. El modelado de circuitos en VHDL se basa principalmente en la definicin de arquitecturas que representan a cada una de las estructuras que pueden aplicarse al diseo de circuitos. A partir de esto es posible la declaracin de entidades y sus respectivos componentes para llevar a cabo la simulacin. Para realizar la simulacin en VHDL del diseo de un circuito se necesita de tres procesos fundamentales:Compilacin, Elaboracin y Simulacin.

Figura 2-1.-Compilacin, Elaboracin y Simulacin de Cdigo VHDL [5].

Obsrvese que la generacin de cdigo intermedio y el uso de bibliotecas entre la compilacin y la simulacin tienen similitud a los pasos del desarrollo en lenguajes de programacin tpicos. A. Cdigo sintetizable y no sintetizable Debido a la estandarizacin de VHDL, tambin se utiliza como un lenguaje descriptivo de los datos de entrada a herramientas de sntesis. Dentro del contexto de herramientas de software y VHDL, la sntesis es un mtodo automtico de una conversin de una abstraccin de alto nivel en una de bajo nivel [6]. El principal problema que surge cuando se pretende el uso de herramientas de sntesis es consecuencia de las restricciones propias de VHDL, provocando que solo un subconjunto de elementos de VHDL sea sintetizable. Las restricciones se encuentran basadas en dos factores [6] Los elementos VHDL adecuados para la simulacin no pueden sintetizarse porque no existe un hardware equivalente para su implementacin. Por ejemplo: Valores inciales, retrasos de seales, etc. Restricciones basadas en las capacidades de las herramientas de sntesis.

Figura 2-2.- Cdigo sintetizable.

Figura 2-3. Cdigo no sintetizable

2.2 INTERFAZ GRFICA

La interfaz grafica de Active HDL se compone bsicamente de un explorador de diseno, un editor de HDL y una consola. En el explorador de diseo es posible ver el contenido de todas las entidades, tambin se puede generar oagregar archivos de VHDL de manera automatica con la opcin Add new file [7]. Dentro del editor de HDL es posible hacer modificaciones directamente al cdigo del diseo, y en la consola se puede visualizar un resumen de cada compilacin y/o simulacin. Active HDL incorpora diferentes herramientas dentro de su barra de menus, tales como: Compilacin,Ejecucin de Macros, Asistente de Lenguaje.

Figura 2-4.- Interfaz grafica de Active VHDL 5.1

2.3 MODELADO DE CIRCUITOS USANDO ACTIVE HDL 3.6

Active HDL 3.6 integra diferentes asistentes para la creacin de elementos VHDL, como se menciono en la seccin II, el uso de este lenguaje implica la definicin de entidades (elementos y comportamiento), las cuales son incorporadas en el diseo de circuitos. Los asistentes con que se cuentan son: el Editor de Lenguaje Descriptivo de Hardware, el Editor de Maquinas de Estados Finitas y el Editor de Diagramas de Bloques. A continuacin se describen cada uno de ellos.

A. EDITOR DE LENGUAJE DESCRIPTIVO DE HARDWARE

(HDE) El asistente HDE (Hardware Description Language Editor) incluido en Active HDL, es un generador de archivos VHDL donde se describe una entidad. Una vez que se ha elegido este editor y se le ha asignado a un nombre, se generaran las entradas y las salidas correspondientes segn se aprecia en la Figura 5, especificando el nombre y el tipo de dato [8].

Figura 2-5.- Ventana de inicio del programa.

Un espacio de trabajo puede contener diversos diseos independientes. Si es la primera vez que trabaja con esta herramienta, es conveniente iniciar con un nuevo espacio de trabajo propio. Al cual deber asignrsele un nombre, en este caso se le puso tutorial.

Figura 2-6.-Asignacion de nombre a el proyecto.

Si se abre un espacio de trabajo existente, automticamente ser abierto el ltimo diseo elaborado. Para los espacios de trabajo nuevos, se presentar el asistente para iniciar con nuevos diseos.

Figura 2-7.- Asistente para iniciar con nuevos diseos.

1. La primera opcin se usa cuando ya se cuenta con mdulos que se agregarn al diseo. 2. La segunda es para importar un diseo completo. 3. La ltima opcin es necesaria para nuevos diseos, para este caso es la opcin que debe seleccionarse y despus pasar al paso siguiente.

Lo siguiente, deben insertarse una a una las seales que formarn parte de la entidad (interfaz), la insercin de una seal comienza con un click en el botn new, luego se le pone un nombre, si es un vector su tamao se determina con los ndices y debe definirse su modo (entrada o salida).

Figura 2-8.- Insercin de seales al programa.

El proceso debe repetirse con cada una de las seales, de acuerdo a las especificaciones del diseo.

Figura 2-9.- Asignacin de entrada/salida puertos

Figura 2-10.- Asistente generador de las Entradas/salida de una entidad.

La generacin del archivo se lleva a cabo automticamente al finalizar el proceso anterior. A partir de esto es necesario agregar el cdigo que determina el comportamiento del circuito dentro del bloque de la arquitectura.

B. Mquina de estados finita (FSM)

Un diagrama de estados se define como un mtodo grafico descriptivo de una maquina de estados [9]. El asistente de diseo FSM (Finite State Machine) permite la construccin de un archivo de diagrama de estados mediante la seleccin de diferentes elementos colocados en la parte inferior del editor HDL, el cual incluye opciones como: estados, uniones, transiciones, condiciones, puertos de entrada, Seales/variables, constantes, estados iniciales, etc.Un ejemplo de una maquina de estados diseado con este asistente se presenta en la Figura 6. Dicho diseo resuelve un problema de apagado/encendido de una bomba de agua en una cisterna, considerando dosEstados: S1 (Apagado) y S2 (Encendido). Para la transicin de un estado a otro se utilizan dos seales de entrada que simulan los niveles de laCisterna: EH (Nivel Alto) y EL (Nivel bajo).

Figura 2-11.- Modelado de un problema mediante una Maquina de estados.

Una vez que el diseo ha sido terminado, el archivo resultante con extensin asf podr ser seleccionado y mediante la opcin Generate Code automticamente generara el archivo de tipo .vhd que corresponde a este modelo. C. Editor de diagramas de bloques(BDE)

BDE (Block Diagram Editor) es una herramienta grafica para diseos en lenguajes de descripcin de hardware como son VHDL, Verilog y EDIF [10].Una vez que se han diseado las entidades que participan en el diseo del circuito es posible entonces utilizar esta herramienta. BDE se basa en la agregacin de entidades en forma de bloques, de esta manera, permite la interconexin entre ellas de una manera sencilla. Adems hay que tomar en cuenta que es posible agregar componentes de una misma entidad las veces que sean necesarias.

Ejemplo de un diseo utilizando este asistente. Consiste en la unin de dos entidades en un solo diseo, cada entidad con entradas y arquitecturas propias, y a su vez integradas en un solo circuito donde las salidas de una entidad (U1) sirven de entrada a la otra (U2).

Figura 2-12.- Diseo de un circuito mediante BDE.

Para comprender el ejemplo anterior es necesario mencionar que U1 es una entidad con una arquitectura representada por (1), y respectivamente U2 es unproceso de seleccin mediante un multiplexor donde la secuencia generada por el selector decide cual ser la salida.

CAPITULO 3

METODOLOGIA3.1 DISEO DE VHDLUna vez que se ha elegido este editor y se le ha asignado a un nombre, se generaran las entradas y las salidas correspondientes especificando el nombre y el tipo de dato [8].

Al concluir con la insercin de seales se presiona el botn finalizar, con lo que se crear una plantilla del mdulo en un archivo que es agregado al diseo (se observa en el navegador) y ste es automticamente abierto en el rea de trabajo.

Figura 3-1.- rea de trabajo del active HDL.

Los comentarios de la plantilla pueden completarse para una adecuada documentacin. En este momento ya se tiene descrita la entidad (la interfaz del mdulo) y falta por describir su arquitectura para determinar su comportamiento. Nota: Si se quiere modificar la entidad, para agregar una nueva seal, eliminar una existente o modificar algn parmetro, debe hacerse manualmente, respetando la sintaxis de VHDL, no es posible regresar al asistente anterior.

El mdulo a desarrollar es un comparador de 4 bits, de manera que su comportamiento puede determinarse por el proceso siguiente:

process( A, B ) begin mayor