You are on page 1of 33

TUTORIAL QUARTUS II

Parte 1

INTRODUCCIN
El programa Quartus II1 es una herramienta de software producida por Altera2 para el anlisis y la sntesis de diseos en lenguaje HDL. 3

Altera es un fabricante lder de dispositivos lgicos programables, entre ellos, la CPLD que se emplear en el curso. Por este motivo, es necesario aprender a utilizar el Quartus II.
1- http://www.altera.com/products/software/quartus-ii/subscription-edition/qts-se-index.html Edicin Web: http://www.altera.com/products/software/quartus-ii/web-edition/qts-we-index.html 2- http://www.altera.com/ 3- HDL son las siglas para Hardware Description Language.
2

Para los fines de este curso, el programa Quartus II nos permitir no slo disear un circuito y comprobar su correcto funcionamiento mediante herramientas de simulacin, sino tambin trasladarlo a un dispositivo como la CPLD, permitiendo una primera aproximacin a la comunicacin Software-Hardware en lo relativo a Electrnica Digital.
Proceso de diseo de Quartus II
3

NUEVO PROYECTO

Empezar un NUEVO PROYECTO


PASO 1

Iniciar el Project Wizard

Empezar un NUEVO PROYECTO (2)


PASO 2
Crear una carpeta y darle un nombre al proyecto.

(Si la carpeta indicada no existe, se le preguntar al usuario si desea crearla)

Empezar un NUEVO PROYECTO (3)


PASO 3
Aqu se pueden incluir archivos existentes (por ejemplo, libreras) al proyecto. (Para este ejemplo no necesitaremos ninguno)

Empezar un NUEVO PROYECTO (4)


PASO 4
Especificar el tipo de dispositivo en el cual se implementar el circuito diseado.

En nuestro caso, los datos son:

MAX 7000S EPM7128SLC84-7


8

Empezar un NUEVO PROYECTO (5)


PASO 5
Seleccin de herramientas adicionales de diseo. EDA: Electronic Design Automation (Para este ejemplo, no se seleccionar ninguna)
9

Empezar un NUEVO PROYECTO (6)


PASO 6
Listado de las opciones y caractersticas elegidas para el nuevo proyecto.
Si alguna no se corresponde con lo deseado, se puede volver atrs y realizar modificaciones. (Back)

10

Ejemplo a estudiar
Para facilitar la explicacin y demostracin de los conceptos desarrollados en este tutorial, se utilizar como ejemplo la funcin lgica: f x1x2 x2 x3
x1 0 0 x2 0 0 x3 0 1 f 0 1

0
0 1 1 1 1

1
1 0 0 1 1

0
1 0 1 0 1

0
0 0 1 1 1

Circuito de la funcin ejemplo.

Tabla de verdad.
11

SCHEMATIC CAPTURE
1. Block Editor

2. Insercin de componentes
3. Insercin de pines de INPUT y OUTPUT 4. Conexin de nodos

12

Block Editor
Herramienta para realizar diseos esquemticos:
New Device Design Files Block Diagram / Schematic file

rea de Trabajo

Para insertar grilla: View Show Guidelines

13

Insercin de un componente
El Block Editor provee de varias libreras con elementos de circuito que pueden ser importados al esquemtico. Para el ejemplo se usar la librera primitives, la cual contiene las compuertas lgicas bsicas. Para insertar un componente: Doble click en el rea de trabajo Edit Insert Symbol Click en el cono Symbol Tool.

14

Insercin de un componente
Se abrir una ventana con las libreras existentes. Para buscar los componentes de este ejemplo entrar a: E insertar:

and2 or2 not

15

Insercin de un componente
Tip til:
Click derecho sobre el componente permite acceder a muchas opciones para girarlo, voltearlo y ver sus propiedades.

Una vez insertados los componentes, el esquema debera quedar de la forma:

16

Insercin de pines de INPUT y OUTPUT


Para representar los puertos de entrada y salida del circuito, se insertarn los pines de entrada (input) y salida (output).

17

Insercin de pines de INPUT y OUTPUT


Luego de colocarlos, es necesario asignarles nombres. Para ello, hacer doble click en pin_name y cambiarle el nombre a cada pin. En el ejemplo, al colocarlos en el diagrama y asignarle un nombre a cada pin, debera quedar:

18

Conexin de terminales
Asegurarse de estar en el modo Selection and Smart Drawing Tool.
Para conectar los componentes, posicionar el cursor en el terminal del primer componente (debe aparecer un smbolo de una cruz), hacer click y mantener hasta llegar al terminal del otro componente (debe aparecer un cuadrado) y luego soltar.

La opcin de rubberbanding permite que al mover un componente, se mantengan sus conexiones. Para borrar una conexin, hacer click derecho sobre la misma y elegir la opcin Delete. Tambin es posible hacerlo clickeando sobre la conexin + la tecla Delete (Suprimir).
19

Conexin de terminales
Una vez realizadas todas las conexiones, el esquema queda:

Nota: Para diagramas con mayor cantidad de conexiones, es recomendable conectar los nodos asignndoles nombre, en lugar de usar cables, para mayor claridad.
20

COMPILACIN

21

Compilacin
Bsicamente, el primer paso luego de armado el circuito, es traducir (mediante la herramienta Synthesis Tool) el esquemtico en expresiones lgicas. El siguiente paso (technology mapping) determina cmo se deber implementar cada expresin lgica en los elementos disponibles en el dispositivo elegido. Si entramos a Tools Compiler Tool veremos los 4 mdulos principales que son administrados por el Compilador (Compiler)

22

Compilacin
El Compilador puede correr cada uno de estos mdulos por separado o, bien, todos en secuencia. Clickeando en el cono de Start Compilation se escoger esta ltima opcin.
Una forma eficiente de emplear estas herramientas es corriendo solamente los mdulos que son necesarios para cada fase del proceso de diseo, principalmente porque en diseos ms grandes el tiempo de compilacin puede variar (y significar una gran espera) entre mdulo y mdulo.

ERRORES Quartus arroja mensajes en la Messages window, producidos durante la compilacin. All se podr detectar la presencia de errores o warnings. En caso de que est todo en orden, se le informar al usuario que la compilacin result exitosa, con 0 errores y 0 warnings.
23

SIMULACIN

24

Simulacin del circuito diseado


Quartus provee una herramienta de simulacin para verificar el comportamiento del circuito diseado. Para ello, es necesario crear los llamados test vectors, que representan las seales de entrada.
New Other Files Vector Waveform File
Se abrir un nuevo archivo, una ventana con un nuevo rea de trabajo: Waveform Editor

25

Simulacin del circuito diseado


Edicin de parmetros y caractersticas:
End time: Edit End Time (para este ejemplo, 160 ns)

Ajuste al ancho de pantalla: View Fit in Window (para que el rango de tiempo deseado se vea completo en la pantalla)
Tarea: Indagar en Assignments Settings:

26

Simulacin del circuito diseado


Eleccin de pines de entrada y salida del circuito a simular:
Edit Insert Node or Bus Si bien se puede escribir el nombre del nodo (en Name), es conveniente utilizar la aplicacin Node Finder. Seleccionar el filtro deseado (por ejemplo, Pins: all) Seleccionar los pines deseados (en este caso, todos).

27

Simulacin del circuito diseado


Una vez elegidos los pines, dar OK en la ventana de Node Finder y OK en la ventana anterior (donde ya se han completado los datos). En la ventana de simulacin, quedarn listados los pines:

Para facilitar la comprensin, deseamos que queden en otro orden. Para eso, se clickea sobre el nombre del pin, se mantiene clickeado y se lo arrastra hasta la posicin deseada.

28

Simulacin del circuito diseado


Ahora se especificar el valor lgico de las seales de entrada. Para este ejemplo, como se trata de un circuito simple y pequeo, se podrn evaluar los 8 casos posibles, basndonos en la tabla de verdad. Tomemos una duracin, para cada caso, de 20 ns.

Seleccionar con el mouse un lapso de tiempo de la seal deseada (por ejemplo, entre 20 ns y 40 ns de la seal x3) y setear su valor (en este caso, 1). La barra de herramientas permite elegir, entre otras opciones:
0 1 X: Unknown Z: High Impedance DC: Dont Care INV: Inverting its existing value
29

Simulacin del circuito diseado


Realizando el procedimiento anterior para las 3 seales de entrada, la configuracin queda de la siguiente manera:

TIP: Una forma rpida de ir cambiando los valores lgicos de los intervalos de tiempo, es valerse de la herramienta Waveform Editing Tool. Se selecciona el intervalo de tiempo como se mencion anteriormente, y automticamente invierte el valor lgico del mismo [si estaba en 0 lo pone en 1; si estaba en 1 lo pone en 0]
30

Simulacin del circuito diseado


Existen dos formas de simulacin de un circuito: Functional Simulation: Se consideran los componentes y los cables ideales y, por lo tanto, no existe un delay en la propagacin de la seal. Timing Simulation: Se desean contemplar los efectos no ideales, teniendo en cuenta el delay de propagacin.
La primera opcin es empleada tpicamente para verificar el correcto funcionamiento de un circuito mientras se lo est diseando. Para el ejemplo que se desea analizar, utilizaremos este tipo de simulacin.
31

Simulacin del circuito diseado


Assignments Settings Simulator Simulation mode: Functional

2
Processing Generate Functional Simulation Netlist Clickear y esperar a que procese.
32

Simulacin del circuito diseado


Finalmente, para correr la simulacin, clickear en el cono Start Simulation (o bien Processing Start Simulation) Una vez finalizada la simulacin, Quartus avisa que se complet con xito y presenta la seal de salida f en pantalla:

Se puede comprobar el resultado con la tabla de verdad.

33

You might also like