Max Plus II
Max Plus II
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:
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.
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
19
20
22
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
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
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
58
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
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
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
AC
CC 7 6 1 2 1 6 5 4 8 5 4 3 Punto Decimal 7 2 3
CC Gnd
91
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