Вы находитесь на странице: 1из 95

Max+plus II

Altera
Ing. L. Gorenkova
1

Max+plus II
es el software desarrollado por ALTERA para diseo lgico con los Dispositivos Lgicos Programables (PLD) ( CPLD o FPGA ). Los tres principales editores de Max+plus II son:

- Editor Grafico - Editor de Formas de Onda - Editor de Textos (VHDL)


2

I. GRAPHIC EDITOR

Graphic Editor es un sofisticado programa para captura de los Diagramas Esquemticos de cualquier complejidad. Graphic Editor puede utilizar tambin editor auxiliar llamado Editor de Smbolos. Con el Symbol Editor se puede crear, editar y ver los smbolos nuevos. Estos smbolos pueden ser usados en diagramas esquemticos creados con Graphic Editor.

Editor Grafico permite crear y editar los


archivos de diseo esquemtico con extensin .gdf (Graphic Design File) que incluyen una combinacin de megafunciones macrofunciones y smbolos primitivos provenientes de las libreras correspondientes.
5

Proyecto.
Un Proyecto es cualquier circuito o subcircuito lgico diseado en Max+plus II. Un Proyecto puede ser representado por un solo archivo (file) o por varios archivos. En este caso el nombre del proyecto debe ser el mismo como el nombre del archivo superior(top-level) del diseo que se puede visualizar presionando la tecla en la Barra de Herramientas. Max+plusII realiza compilacin, simulacin y anlisis del tiempo solo de un proyecto a la vez.
6

Para iniciar un nuevo proyecto se puede en la Barra del Men presionar la tecla

O en la Barra del Men presionar File | New Una vez abierta la hoja del nuevo proyecto esta debe ser grabada File | Save As con el nombre deseado y con extensin .gdf.
8

10

Normalmente la hoja del nuevo Proyecto tiene tamao D: (22x34 in) y orientacin horizontal. Tamao de la hoja del Proyecto se puede modificar activando File | Size - ( tamao y orientacin deseados )

Para cambiar el nombre del Proyecto en la Barra de Ttulos se debe presionar en la Barra de Herramientas la tecla

11

12

Se puede escoger los smbolos CI de cualquier librera desde la Barra del Men: Symbol | Enter Symbol Tambin se puede seleccionar una librera con doble click izquierdo sobre la hoja del proyecto. Una vez seleccionado el smbolo se puede dar click derecho sobre el y con ayuda del menu que se abre se puede realizar muchas operaciones, tales como recortar, copiar, pegar, editar nombres de los terminales, asignar retardos, rotar, etc.
13

14

15

Librera de trabajo.
Es la primera librera de la lista de las libreras. Es la librera donde se guardan todos los archivos de sus proyectos. La localizacin y el nombre del directorio donde esta su librera de trabajo no tiene importancia.

16

17

Librera de smbolos Primitiva. max2lib\prim


Esta librera contiene muchos smbolos tiles en el diseo, tales como Input, Output, Vcc, Gnd. Algunos de los smbolos son operadores. En caso que el diseo final ser cargado en un PLD y no armado de los CI discretos, entonces en el diseo pueden ser usados todos los smbolos genricos que se encuentran en esta librera.
18

19

20

Librera de Macrofunciones. max2lib\mf


En esta librera se encuentran todos los smbolos de los CI reales. Puertas, Inversores, Mux, Decodificadores, Comparadores, Sumadores, Convertidores de cdigo, Flip-Flops, Contadores y Registros. Pero ningn dispositivo que requiere conexin de algn componente externo esta en esta librera. Por ejemplo: 74121(multivibrador monoestable)
21

22

Librera de Megafunciones y mdulos parametrizados. max2lib\mega_lpm


Cada modulo en esta librera es tecnolgicamente independiente, es decir, puede ser implementado en cualquier tipo de chip. Cada modulo es tambin parametrizado, lo que significa que puede ser usado de varias maneras. Esta librera pude ser usada solo si el diseo final ser implementado en un PLD.
23

Para utilizar esta librera: File | MegaWizard Plug-in Manager En la ventana que se abre seleccionar: Create a new custom megafuncion variacion | Next

24

25

Barra de Herramientas.
Barra de herramientas se presenta por debajo de barra de men. Todas las comandos que pueden ser llamados de la Barra de Herramientas estn disponibles como comandos del men y pueden ser llamados con el mouse o con las teclas de control.

26

La tecla Undo permite deshacer las operaciones o comandos anteriores. La segunda tecla Max+plus Help le proporciona la informacin sobre cualquier parte del circuito. Primero se debe presionar la tecla y luego hacer click en lugar sobre el cual se desea obtener la informacin.
27

Presionando la tecla y luego el smbolo seleccionado Max+plus II Help le mostrara la tabla de modo de operacin del elemento. Esta le proporciona la informacin sobre su funcionamiento lgico. Si le interesa saber la configuracin interna del elemento seleccionado se debe hacer dobleclick izquierdo sobre elemento. Aparece la descripcin que en algunos casos esta en forma grafica y en otros casos en forma de texto.
28

29

Las siguientes teclas permiten abrir las aplicaciones de Max+plus II. Pero algunas solo deben ser utilizadas en casos cuando la implementacin final del diseo ser un PLD. - Exhibicin de Jerarqua - Asignacin de los Pines del PLD - Compilador - Simulador - Analizador de Tiempos - Programador
30

Antes de Compilar o Simular el proyecto se debe asegurar que el nombre del proyecto al cual se desea compilar o simular sea igual al nombre del proyecto que se muestra en la Barra de Ttulos. Si no es as, puede cambiar desde la Barra del Men: File | Project | Set Project to Current File O simplemente puede en la Barra de Herramientas presionar la tecla
31

Para iniciar la operacin de Compilar se puede en la Barra de Men presionar Max+plus II | Compiler

O en la Barra de Herramientas presionar la tecla y luego seleccionar una de los dos posibles modos de Compilar.
32

Funcional SNF Extractor no incluye retardos de los dispositivos y es usada para chequear los errores lgicos solamente. Timing SNF Extractor incluye los retardos de los dispositivos y realiza la compilacin completa del proyecto incluyendo sntesis, particin y asignacin de pines sobre un PLD real.
33

34

35

Inicialmente el programa Max+plus II coloca la operacin de Compilar en

Timing SNF Extractor


Cuando no se desea utilizar un PLD para implementar el circuito es recomendable hacer solo la Compilacin Funcional para no crear los archivos innecesarios. Para cambiar el modo de compilar se debe en la Barra de Men presionar Processing y luego desactivar el modo que no desea usar.
36

37

Despus de hacer cualquier cambio en su diseo, se debe siempre volver a grabar y compilar el proyecto antes de hacer la simulacin o configurar un PLD. El proyecto debe ser compilado con 0 Errors. Si el mensaje dice Project Compilation was Successful, entonces su proyecto no tiene ni un error. Los warnings pueden ser analizados e ignorados.
38

Para realizar la operacin de Simulacin se debe crear el archivo de Formas de Onda ya que el proceso de Simulacin se realiza analizando los Diagramas de Tiempo de las salidas luego de asignar los valores deseadas en las entradas. Para esto en la Barra del Men presionar

Max+plus II | Waveform Editor


O en la Barra de Herramientas presionar la tecla de nuevo proyecto y luego debe seleccionar

| Waveform Editor file

39

El archivo que se abrir debe ser grabado con la extensin .scf (Simulater Channel File). El archivo contiene representacin en formas de onda de los valores de entradas que manejan la simulacin. Con comandos Node | Enter Nodes from SNF (Simulator Netlist File) y luego List se eligen las seales de entrada y salida que se desean observar en los Diagramas de Tiempo.
40

41

42

Con comandos File | End Time se establece el periodo de tiempo durante del cual se desarrollar la simulacin. Con comandos View | Fit in Window todo el periodo elegido para simulacin se presentara en la pantalla. O se puede simplemente en la Paleta de Herramientas presionar la tecla

Con comandos Options | Grid Size se elige la distancia entre las grid lneas muy tiles para graficar los seales de entrada.
43

Un Grid es la unidad de medida definida por ALTERA y usada en Graphic y Symbol Editors. Un Grid es igual a ocho pxeles. En Waveform Editor un Grid es el intervalo de tiempo entre grid lneas definido por el usuario. Una vez graficados los valores de los seales de entradas deseados se activa: Max+plus II | Simulator| Start o simplemente presiona la tecla
44

45

Los resultados de simulacin se puede apreciar analizando los Diagramas de Tiempo los cuales nos indican: Si el circuito diseado genera las seales deseadas en los momentos deseados. En caso de Compilacin y Simulacin sobre un PLD los Diagramas de Tiempo nos indicaran los tiempos de retardo que experimentan las seales de salida. Se puede elegir PLD que produce menor retardo.
46

Cuando el proyecto es bastante grande se hace difcil hacer las conexiones entre los componentes y visualizar todo el proyecto en la ventana. En este caso se recomienda hacer el proyecto por bloques. Se disean todos los bloques como proyectos individuales y se los guardan como File | Create Default Symbol. Al final se unen todos los bloques en proyecto superior (top-level).
47

El principio de descomposicin funcional es muy usado en la ingeniera para los diseos grandes. Los diseos complejos son divididos en unidades del diseo mas pequeas. Las unidades mas pequeas son mas fciles de entender e implementar. Luego los diseos mas pequeos son interconectados para formar un Sistema Digital complejo. Adems, las unidades pequeas del diseo pueden ser reutilizadas en otros diseos.
48

49

50

51

52

No es necesario tener todas las entradas y salidas interconectadas con las lneas. Es suficiente con asignar a los dos terminales que deben tener el mismo nombre. Para etiquetar el terminal se debe hacer el click derecho y seleccionar Enter Node | Bus Name Cuando las lneas de los seales tienen el mismo nombre ellas sern interconectadas automticamente.
53

54

Project Save & Check. Al presionar esta tecla se guardan todos los archivos abiertos y parcialmente se compila el proyecto en el que se trabaja. Project Save & Compile. Se guardan todos los archivos abiertos y se compila el proyecto en el que se trabaja sobre un PLD. Project Save & Simulate. Se guardan todos los archivos abiertos, se abre la ventana de simulacin y se realiza la simulacin sobre un PLD.
55

A lado izquierdo de la pantalla se puede observar la Paleta de Herramientas. La paleta puede tener teclas diferentes para los archivos del Editor Grafico (Graphic Editor) y para los archivos del Editor de Formas de Onda (Waveform Editor). Se puede apuntar con mouse a cualquier tecla de esta paleta y la Barra de Status le indicara la funcin de cada una.
56

Estas tres teclas, por ejemplo, le ayudaran a controlar el tamao del circuito que desea observar en la pantalla. - La primera tecla aumentara gradualmente el tamao del circuito. - La segunda disminuir el tamao del circuito. - La tercera permite observar todo el circuito en la pantalla, es decir, realiza la misma operacin que el comando View / Fit in Window

57

II. WAVEFORM EDITOR

58

Editor de formas de Onda (Waveform Editor).


Editor de formas de Onda puede ser utilizado no solamente para crear las Diagramas de Tiempo que son necesarios para analizar los resultados de Simulacin. Waveform Editor tambin puede ser utilizado como una herramienta de ingreso del diseo.
59

Pero es practico utilizar Waveform Editor para ingreso del diseo solo en casos de los diseos con un numero pequeo de entradas y salidas. Con Waveform Editor puede ser creado un subcircuito que puede ser interconectado con otros subcircuitos en un diseo grande. Con Waveform Editor se puede implementar los circuitos que no forman parte de las libreras del Max+plus II, tales como EPROM.
60

Primero se debe abrir un nuevo archivo como Waveform Editor file y seleccionar la extensin .wdf (Waveform Design File). Se graba el archivo con el nombre elegido verificando que la extensin sigue siendo .wdf. En la Barra del Men: Node | Insert Node. Ingrese los nombres de todas las entradas y salidas que desea que tenga su circuito y grafique las ondas de las seales de las entradas y las ondas de las seales las salidas deseadas para las seales de entradas dadas.
61

62

63

Al seleccionar el nombre de cualquier seal se activara la Paleta de Herramientas. - asignar el nivel Bajo de voltaje - asignar el nivel Alto de voltaje - asignar el nivel Dont care () - asignar el nivel de alta impedancia - invertir el el nivel de voltaje - asignar la seal de CLK ( reloj ) - asignar la secuencia deseada
64

65

Si el circuito diseado con Waveform Editor ser implementado con un EPROM es recomendable crear un Table File. Table File es un archivo de texto que contiene una lista de formato tabular de todas las entradas y salidas, es decir, una tabla de verdad. Para crear Table File se debe en la Barra del Men: File | Create Table File. En el archivo creado encontraremos ya lista el programa para el EPROM.

66

Max+plus II permite combinar los archivo tipo .wdf con otros tipos de archivos del diseo en un
Proyecto Jerrquico . Al compilar el archivo tipo .wdf automticamente se crea Default Symbol y este smbolo puede ser usado para los diseo en Graphic Editor. Con Waveform Editor se puede disear cualquier circuito Secuencial como Maquinas de Estado, Contadores y Registros. Y tambin es ideal para cualquier circuito Combinatorial.
67

III. TEXT EDITOR

68

Editor de Texto de Max+plus II permite ingresar el diseo descrito en Verilog HDL, AHDL y VHDL. Editor de Texto tambien puede ser usado para entrar, editar y ver cualquier otro archivo de ASCII. Cuando se usa VHDL para descripcin del diseo el archivo del proyecto debe tener la extensin .vhd. Se puede crear diseos de Sistemas Digitales enteramente en VHDL o mezclar los diseos en VHDL con los diseos hechos con Editores Grafico y de Formas de Onda.
69

Es muy practico usar Syntax Coloring para detectar los errores de texto. Esta opcin puede ser activada en la Barra del Men | Options. Luego Barra de Men | Options | Color Palette se definen los colores deseados. Editor tambien tiene opcin de sangrado, que automticamente coloca el texto de la siguiente lnea en posicin relacionada con la posicin de la lnea anterior. En la Barra del Men se selecciona Options | Auto-Indent.
70

El sintaxis del cdigo VHDL a veces es difcil de recordar. Text Editor proporciona una coleccin de plantillas. Para seleccionar la plantilla deseada: o en la Barra del Men Templates | VHDL Template Los procedimientos de Compilacin Functional y Simulacin son similares a los de otros editores. Tambien es similar el uso de Message Processor para la localizacin rpida de los errores.
71

72

Cuando el diseo ya esta compilado sin errores y la simulacin indica que las operaciones deseadas se realizan en los momentos deseados, se puede programar un CPLD (o configurar un FPGA) de la siguiente manera. En la Barra del Men: Max+plus II | Programmer o en la Barra de Herramientas presionar la tecla

73

74

75

Un FPGA es el FPLD basado SRAM. Por lo tanto su configuracin debe ser recargada cada vez que se conecte a la fuente de alimentacin. Esta tarea puede ser realizada por una memoria EPROM de configuracin externa con ayuda de una interfase serial JTAG (Joint Test Action Group). En este caso se programa la EPROM (EPC2) y el programa automticamente se recarga al FPGA cada vez que se conecta la fuente de alimentacin .
76

IV. DETALLES PRACTICOS


77

Antes de programar o configurar un FPLD se debe elegir el dispositivo deseado. En la Barra del Men: Assign | Device | (CPLD o FPGA).
Nota: Para tener la lista completa de los dispositivos debe desactivar la ventana

Para asignar las entradas y salidas deseadas a los pines de un FPLD: Assign | Pin | Location | Chip Luego: Search| List | (nombre de I/O) | OK Luego: Pin | (numero) | Input/Output | OK

Una vez asignados todos los terminales deseados se realiza la compilacin Timing y simulacin.
78

Hay otro modo de asignar las entradas y salidas deseadas a los pines de un FPLD. En la Barra del Men: Max+plus II | Floorplan Editor o en la Barra de Herramientas presionar la tecla

Luego de la ventana Unassigned Nodes & Pins elegir la entrada o salida deseada y arrastrar hasta el pin de FPLD deseado.
79

80

81

Para apropiada operacin de Circuitos Secuenciales Sincrnicos es esencial reducir al mnimo el efecto llamado clock skew, que se presenta porque diferentes flip-flops no disparan al mismo tiempo. Una de las causas de clock skew es la siguiente:

82

La otra causa de clock skew es la diferencia de la longitud de alambres que conducen la seal de clock a los flipflops. Por lo tanto, es indispensable usar la apropiada distribucin de la seal de clock, por ejemplo, llamada el H tree
83

Un FPLD usualmente proporciona una o mas entradas global clock (GCLK) que puede ser conectada a todos flip-flops de FPLD. La conexin de las puertas lgicas en las entradas de flipflops debe ser evitada. Todos los FPLD tambien proporcionan la entrada global reset (GCLRn).

Asignacin de pines de CPLD EPM7128SLC84 para conector J1 J1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 pin CPLD 83 44 45 46 7,19,32,42 47,59,72,82 48 49 50 51 84 2 52 1 73 74 75 76 77 79 3,13,26,38 43,53,66,78 80 81 33 34 35 36 37 39 40 41 12 11 10 9 8 6 5 4 Funcin GCLK1 MCell E 65 MCell E 67 MCell E 69 GND GND MCell E 72 MCell E 73 MCell E 75 MCell E 77 Input/OE1 Input/OE2/GCLK2 MCell E 80 Input/GCLRn MCell H 115 MCell H 117 MCell H 118 MCell H 120 MCell H 123 MCell H 125 VCC VCC MCell H 126 MCell H 128 MCell D 64 MCell D 61 MCell D 59 MCell D 57 MCell D 56 MCell D 53 MCell D 51 MCell D 49 MCell A 3 MCell A 5 MCell A 6 MCell A 8 MCell A 11 MCell A 13 MCell A 14 MCell A 16

84

Problema de sincronismo.
Seales externos muy a menudo son aleatorios y duran mucho tiempo comparando con el periodo de Clock. Para evitar el funcionamiento errneo del Sistema Digital estas seales deben ser sincronizadas para que duran solo un periodo de Clock.

85

Durante de compilacin Timing el Compilador de Max+plus II genera un reporte de utilizacin del FPLD llamado .rpt. Este reporte proporciona la informacin sobre la conexin de los pines en el proyecto que ya ha sido compilado. Se puede observar que pines de entrada dedicated no usados son conectados a Gnd y pines I/O no usados son indicados como Reserved. Todos los pines I/O Reserved deben permanecer sin conectar despus de compilacin. La conexin de un pin I/O Reserved a Vcc, Gnd u otra seal puede ocasionar dao del FPLD.
86

87

No se permite conectar fsicamente ningn pin de FPLD directamente a Vcc o Gnd!!! Ni de modo permanente, ni por un instante!!! Siempre debe haber una resistencia en serie entre el pin de un FPLD y Vcc o Gnd.
88

Cuando es necesario conectar a las entradas o salidas de un FPLD algunos componentes externos (LEDs, displays, botoneras, etc.) y estos componentes se encuentran conectados en un Proto Board,

para polarizacin de estos componentes se debe utilizar Vcc y Gnd de la Tarjeta educativa.
89

Conexin de un diodo LED al terminal de un FPLD.


El valor tpico de la corriente IOL que esta especificado en el Data Sheet para un PLD es 12 mA. Para VDD = 5 V el valor de RL ser 5 V / 12 mA 417 . Por lo tanto, el valor de RL debe ser 470 . Si la luminosidad del diodo LED (IOL) es insuficiente, entonces en la salida del PLD debe ser implementado un buffer para proporcionar mayores valores de IOL. 90

Conexin de display a los terminales de un FPLD.


Para obtener la mejor luminosidad del display y la mayor proteccin de las entradas del FPLD es necesario la conexin de una resistencia de 470 820 entre cada segmento del display y el terminal del FPLD.
+5V
AC 7 6 1 2 1 6 5 4 8 5 4 3 Punto Decimal 7 2 3

AC

CC 7 6 1 2 1 6 5 4 8 5 4 3 Punto Decimal 7 2 3

CC Gnd

91

Conexin de las botoneras al terminal de un FPLD.

Botonera Verdadera baja

Botonera Verdadera alta


92

93

Cuando es necesario utilizar dos Tarjetas educativas se debe conectar los terminales de Vcc y Gnd de la manera indicada:

Si a cualquier entrada del FPLD le llega el voltaje mayor que su Vcc el FPLD puede daarse.
94

Fin
95

Вам также может понравиться