Académique Documents
Professionnel Documents
Culture Documents
Indice
Introduccin. Creacin de proyectos. Descripcin mediante VHDL. Bibliotecas de Altera. Compilacin. Sntesis. Simulacin funcional. Implementacin. Simulacin temporal. Programacin del circuito.
11/04/2007 Tutorial Quartus II con VHDL.
Introduccin.
En este tema vamos a realizar un ejemplo tutorial descrito en su totalidad en lenguaje VHDL, mediante la herramienta Quartus II, del fabricante Altera.
11/04/2007
11/04/2007
11/04/2007
Descripcin (I)
Una vez creado el proyecto, se procede a ir creando (File New) los ficheros que describen el sistema digital. En este caso, vamos a crear un nuevo fichero de tipo VHDL.
11/04/2007
Descripcin (II)
Ventana del editor de texto, con el fichero VHDL recin creado.
11/04/2007
Descripcin (III)
En este primer fichero vamos a describir un contador sncrono reversible de 4 bits. Este contador debe tener puesta en estado cero asncrona (reset), carga en paralelo sncrona (load) y seal de habilitacin (enable).
11/04/2007
Descripcin (IV)
Para describir el contador en VHDL, en primer lugar definimos los terminales de entrada y salida del contador, mediante la entidad (entity) del circuito.
11/04/2007
Descripcin (V)
A continuacin, completamos la descripcin del contador de 4 bits con la definicin del comportamiento del circuito, mediante la seccin arquitectura (architecture).
11/04/2007
Descripcin (VI)
Para comprobar si la sintaxis del fichero VHDL es correcta, podemos utilizar el botn Analyze current file de la barra de botones lateral. Si hay algn error, ste aparecer en la ventana de mensajes.
11/04/2007
Descripcin (VII)
Ahora describiremos en VHDL un decodificador de binario a 7 segmentos de CTODO comn. Este decodificador debe tener una seal de habilitacin de las salidas (enable).
11/04/2007
Descripcin (VIII)
Para describir el decodificador en VHDL, en primer lugar definimos los terminales de entrada y salida del decodificador, mediante la entidad (entity) del circuito.
11/04/2007
Descripcin (IX)
A continuacin, completamos la descripcin del decodificador con la definicin de la tabla de verdad del circuito, mediante la seccin arquitectura (architecture) y la sentencia With select.
11/04/2007
Descripcin (X)
Ahora interconectaremos ambos circuitos en el fichero principal (top_tutorial_vhdl) mediante declaracin e instanciacin de los componentes creados anteriormente. Para instanciar un componente descrito en VHDL en otro fichero VHDL, hay que hacer lo siguiente: Declarar el componente en la seccin de declaraciones de la arquitectura, mediante la sentencia COMPONENT de VHDL. Instanciar el componente en la seccin de descripcin de la arquitectura, mediante el nombre del componente. Conectar sus entradas y salidas a las seales que corresponda.
11/04/2007
Descripcin (XI)
Fichero principal (top_tutorial_vhdl.vhd) (1 de 3). Entidad del fichero principal y declaracin del componente sctr4.
11/04/2007
Descripcin (XII)
Fichero principal (top_tutorial_vhdl.vhd) (2 de 3). Declaracin del componente bin_to_7seg_cat e instanciacin del componente sctr4.
11/04/2007
Descripcin (XIII)
Fichero principal (top_tutorial_vhdl.vhd) (3 de 3). Instanciacin del componente bin_to_7seg_cat.
11/04/2007
11/04/2007
11/04/2007
11/04/2007
Descripcin (XIV)
El programa dispone de plantillas VHDL, muy tiles para la descripcin de circuitos comunes. Estas plantillas estn accesibles a travs de la opcin de men Edit Insert Template o del botn correspondiente de la barra de botones.
11/04/2007
Bibliotecas (I)
Adems, Quartus II incorpora bibliotecas de componentes propios, que se pueden utilizar en cualquier fichero VHDL, mediante la declaracin de la biblioteca y del paquete adecuado, y la declaracin e instanciacin del componente.
11/04/2007
Bibliotecas (II)
Ejemplo de utilizacin del componente GLOBAL del paquete altera_primitives_components de la biblioteca altera.
11/04/2007
Bibliotecas (III)
La ayuda del programa Quartus II permite conocer los parmetros de cada componente del paquete lpm_components de su biblioteca lpm, as como el formato de declaracin del componente en VHDL.
11/04/2007
Bibliotecas (IV)
Ejemplo de utilizacin del componente registro (lpm_ff) del paquete lpm_components de la biblioteca lpm de la herramienta Quartus II, mediante la declaracin e instanciacin del componente (1 de 2).
11/04/2007
Bibliotecas (V)
Ejemplo de utilizacin del componente registro (lpm_ff) del paquete lpm_components de la biblioteca lpm de la herramienta Quartus II, mediante la declaracin e instanciacin del componente (2 de 2).
11/04/2007
11/04/2007
11/04/2007
11/04/2007
11/04/2007
11/04/2007
11/04/2007
11/04/2007
34
11/04/2007
35
11/04/2007
36
11/04/2007
37
11/04/2007
38
11/04/2007
39
11/04/2007
40
Descripcin (XV)
Retomando el diseo inicial que estbamos realizando, ahora es necesario aadir al proyecto los ficheros correspondientes a los circuitos descritos en VHDL y a los componentes del tipo Altera megafunction utilizados, para evitar posteriores errores en el proceso de compilacin. Para ello, seleccionamos la opcin de men Project Add/Remove Files in Project, y seleccionamos los ficheros correspondientes.
11/04/2007
41
Descripcin (XVI)
A partir de un fichero VHDL es posible crear un componente utilizable en un esquemtico e incorporarlo a la biblioteca de componentes. Para ello, hay que dar los siguientes pasos: Realizar la descripcin en VHDL del componente. Abrir el fichero VHDL y ejecutar la opcin de men File Create/Update Create Symbol File for Current File, que genera un fichero de extensin .BSF (Block Symbol File).
11/04/2007
42
Descripcin (XVII)
A partir de este momento, el componente ya est disponible para su utilizacin en otros esquemticos.
11/04/2007
43
11/04/2007
44
11/04/2007
45
11/04/2007
46
11/04/2007
47
11/04/2007
48
11/04/2007
49
11/04/2007
50
Verificacin e Implementacin
A partir de este momento, las etapas del proceso de diseo son exactamente las mismas que las realizadas en el ejemplo tutorial con esquemticos. Por ello, nicamente se mostrarn los resultados obtenidos y se comentar alguna particularidad especial.
11/04/2007
51
11/04/2007
52
11/04/2007
53
Implementacin (I)
Una vez realizada la simulacin funcional del sistema digital completo, es el momento de realizar la implementacin del mismo. Para realizarla, se debe pulsar el botn Start Compilation de la barra de botones. Tambin se pueden ir ejecutando uno a uno los distintos procesos que forman parte de la implementacin a travs del compilador (men Tools Compiler Tool).
11/04/2007
54
Implementacin (II)
Antes de realizar la implementacin, se pueden seleccionar unas opciones distintas de las que vienen por defecto en el programa, mediante el men Assignments Settings.
11/04/2007
55
Implementacin (III)
Informe de la fase de asignacin de recursos (fitter).
11/04/2007
56
Simulacin temporal
Resultado de la simulacin temporal del sistema descrito anteriormente. En ella se observan los transitorios tpicos de la simulacin temporal, as como los retardos del circuito.
11/04/2007
57
11/04/2007
59
11/04/2007
60
11/04/2007
61
11/04/2007
62
11/04/2007
63
Q_CTR [3..0]
RESET
DIN [3..0]
11/04/2007
64
Archivar el proyecto
Una vez terminado el proyecto, es conveniente archivarlo mediante la opcin Project Archive Project, que genera un fichero .QAR (Quartus II Archive File) que contiene todos los archivos del proyecto. Archivo del proyecto (.qar) con el proyecto completo de ejemplo realizado con la herramienta Quartus II versin 5.1.
11/04/2007
65
Bibliografa bsica.
Tutorial de la herramienta Quartus II, disponible en la ayuda del programa. Tutorial en PDF (tut_quartus_intro_vhdl.pdf), disponible en la pgina web de Altera. Manual de la herramienta Quartus II en PDF (quartusii_handbook_5_1.pdf), disponible en la pgina web de Altera. [ALTERA] http://www.altera.com Direccin de Internet,
[LVAREZ 04] LVAREZ RUIZ DE OJEDA, L.J., Diseo Digital con Lgica Programable, Editorial Trculo, Santiago de Compostela, 2004.
11/04/2007 Tutorial Quartus II con VHDL. Luis Jacobo lvarez Ruiz de Ojeda 66