ANEXO 2.- GUIA DE REFERENCIA PARA MAGIC
En este anexo se detallan las funciones realizadas en MAGIC por los botones del ratón, así como por los comandos entrados en modo texto (o macros asociadas, si las hay).
En la esquina inferior izquierda de la ventana los botones actúan:
| BIR | Zoom out x2 |
| BDR | Zoom in x2 |
| BCR | :view |
Usando :tool se conmuta de una herramienta a otra. Usando :tool info se obtiene indicación de la herramienta actual y significado de los botones del ratón.
A2.1.1.- Box tool. El cursor posee la forma de una cruz
| BIR | Mueve la esquina inferior izquierda del cuadro. Mientras está siendo pulsado el BDR permite redimensionar el cuadro a partir de una esquina diferente de la superior derecha. |
| BDR | Redimensiona el cuadro fijando la esquina superior derecha.
Mientras está siendo pulsado el BIR permite mover el rectángulo a partir de una esquina distinta de la inferior izquierda. |
| BCR | Pinta el cuadro del mismo color que el que se halla bajo el cursor. |
| BIR | Selección del tipo de material y anchura para cableado. |
| BDR | Pinta una tira de cableado horizontal o vertical. |
| BCR | Posiciona un contacto en el cable activo que conmuta al tipo de material que se halla bajo el cursor. |
| BIR | Selecciona el nodo a emplear usando el terminal más cercano al cursor. |
| BDR | Pone el terminal más cercano dentro o fuera del nodo actual. |
| BCR | Halla el terminal más cercano y lo incluye en el nodo actual. |
Pueden emplearse
abreviaturas para los comandos siempre y cuando sean no ambigüas.
Cuando se especifica una lista de objetos, se separan con comas [ , ].
Para cada comando se indica su descripción y las macros asociadas.
A2.2.1.-Elementos especiales
$ Pseudo layer que contiene la lista de todos los
layers que se hallan bajo el cursor
A2.2.2.- Dibujar y borrar
:paint [layers] BCR
(equivale a :paint $)
Rellena el cuadro con el color indicado. Sobre el
espacio vacío, borra todos los layers.
:erase [layers] ˆD
(equivale a :erase $)
Borra en el cuadro únicamente los layers
seleccionados. Sobre el espacio vacío borra todos los layers.
A2.2.3.- Selección de elementos
:select [more]
:select [{more,less}] area [layers]
:select clear
:select help
|
|
Comando de seleccion | Función |
|
|
:select | Selecciona únicamente el objeto bajo el cursor |
|
|
:select more | Añade a la selección actual el objeto bajo el cursor |
|
|
:select area | Selecciona únicamente los objetos dentro del área del cuadro |
|
|
:select more area | Añade a la selección los objetos dentro del área del cuadro |
|
|
:select clear | Deselecciona todos los objetos |
| :select less | Deselecciona el objeto que se halla bajo el cursor | |
| :select help | Ayuda del comando |
Es posible seleccionar objetos
que no se hallan en la célula activa, pero no podrán ser modificados.
A2.2.4.- Operaciones con la selección
:delete
Borra todo lo seleccionado.
:move [direction [distance]] t
Mueve todos los objetos seleccionados. Si no se dan opciones mueve toda la
selección de modo que la esquina inferior izquierda del cuadro se halle en la
posición del cursor. Existen macros para mover un l la
selección.
|
|
:move left 1 |
|
|
:move down 1 |
|
|
:move up 1 |
|
|
:move right 1 |
:copy c
Similar a :move pero creando una
copia de los objetos.
:stretch [direction [distance]] T
Modifica la forma mientras mueve ensanchando o
borrando el material. Únicamente opera en una de las cuatro
direcciones básicas, caso de tener que elegir, MAGIC elige la
más próxima. Este comando, a parte de mover realiza dos
acciones adicionales:
• Para cada objeto que mueve, :stretch borra su layer en toda la región que recorre mientras se mueve.
|
|
:stretch left 1 |
|
|
:stretch down 1 |
|
|
:stretch up 1 |
|
|
:stretch right 1 |
:sideways
Reflexión especular izquierda-derecha.
:clockwise [grados]
Rota la selección de modo que la esquina
inferior izquierda de la nueva selección quede en la misma posición que la
esquina inferior izquierda del original. grados ha de ser múltiplo de 90.
:array xsize ysize
Replica la selección hacia arriba y a la
derecha. Las dimensiones del cuadro determinan las separaciones entre los
elementos del array. El comando :array puede ser ejecutado sobre un array
preexistente para modificar sus características.
:array xlo xhi ylo yhi
Crea un array con índices comprendidos
entre [xlo,ylo] y [xhi,yhi]
Las etiquetas son textos asociados a objetos que pueden ser rectángulos, líneas o puntos.
:label text [position [layer]]
Pone una etiqueta en una posición
dada. Si el texto contiene espacios, se ha de cerrar entre comillas ["]. La
posición indica donde se ha de poner el texto en relación al cuadro. Puede ser :
north, south, east, west, top, bottom, left, right, up, down, center, northeast,
ne, southeast, se, southwest, sw, northwest, nw. layer indica a que capa se
fija la etiqueta. Por defecto la etiqueta se fija a la capa que la cubre
completamente. Es conveniente poner etiquetas donde sólo hay una capa. Para
seleccionar sólo etiquetas puede emplearse el cuadro en forma de punto. El
pseudo-layer labels permite borrar las etiquetas que se hallan dentro del cuadro
mediante:
:erase labels
Dos nodos electricamente independientes no pueden tener la misma etiqueta dentro de su rango, sin embargo, un nodo puede tener más de una etiqueta. Las etiquetas no deben contener carácteres /$@!ˆ excepto en los casos especiales en que se usan estos carácteres:
Cualquier etiqueta que acabe con @ , $ o ˆ es un atributo. Los atributos de nodos acaban con @. Los de drenador / surtidor deben asociarse al canal, deben situarse exactamente en el borde del drenador/surtidor, y deben acabar con $. Los atributos de la puerta se identifican con ˆ y deben asociarse al canal.
A2.2.6.- Presentación de pantalla
:grid [spacing] g (grid) G (grid
2)
:grid xSpacing ySpacing
:grid xSpacing ySpacing xOrigin
yOrigin
:grid off
Sin parámetros conmuta de on a off (por defecto
grid de 1 unidad)
:zoom factor
Cambia el factor de zoom conservando el centro de la
pantalla. Factores mayores que 1 alejan, mientras que los menores acercan.
:findbox [zoom] B
(:findbox) z (:findbox zoom)
Cambia la vista
de acuerdo con el cuadro. En general centra la pantalla en el rectángulo.
Si se emplea la opción zoom, se amplia además la vista.
:view v
Hace que toda la celda sea
visible en pantalla.
.
El punto permite repetir el último comando.
:help [subject]
Ayuda general o sobre un comando. q finaliza la
presentación de ayudas.
:undo u
Deshace el último comando ejecutado.
Puede repetirse varias veces.
:redo U
Vuelve a ejecutar el comando deshecho
por undo.
:box b
Muestra el tamaño y posición del
cuadro.
:what
Muestra información sobre lo que se halla seleccionado.
:macro [caracter] command
Muestra el comando asociado a una macro.
Si no se indica el caracter, se muestran todas. Si se especifica un comando, se
modifica la macro asociada. Si el comando contiene espacios se ha de encerrar
entre comillas ["]
:layers
Muestra los layers disponibles
:cif see
Permite ver el aspecto que tendrá el diseño en las
máscaras de fabricación.
:load [fichero]
Carga el fichero MAGIC indicado. Si no se indica
ningún nombre, empieza de cero. Load sólo entra la nueva célula en modo de
edición si no hay otra activa.
:writeall
Salva todas las células en curso.
Opciones:
| write (defecto) | Salva en disco |
| autowrite | Salva si se ha modificado |
| Flush | Vuelve a cargar desde disco borrando cambios |
| Skip | Salta la célula |
| Abort | Aborta el comando |
:save [name]
Salva la celula que se está editando con el nombre
indicado. La extensión .mag se añade automáticamente.
:select save file
Salva los objetos seleccionados como una nueva
célula file.mag
:dump cellname [labelname]
Copia el contenido de la célula
indicada dentro de la célula en edición, de manera que coincidan las esquinas
inferior izquierda de ésta y del cuadro.
:flush [cellname]
Se descartan todas las modificaciones hechas en
la célula, recuperándose los datos desde el disco. Si no se indica ninguna
célula, se aplica a la que se edita actualmente.
:path [searchpath]
Indica los directorios en los que se buscarán
las células. Por defecto ".". Caso de indicarse varios directorios, se han de
separar con dos puntos ":". Si no se indican argumentos, se indica el path
actual.
:addpath [directory]
Añade un directorio al path
:source
Ejecuta un fichero de comandos
:quit
Retorna al sistema operativo
A2.2.10.- Cableado
El cableado se realiza con el material seleccionado, y con la anchura indicada por el cuadro.
:wire {horizontal,vertical}
Fuerza que la próxima línea de
cableado sea horizontal o vertical.
:wire type layer width
Selecciona el layer y la anchura de
cableado.
:fill direction [layers]
Extiende un bus en la dirección indicada.
Halla todos los objetos que tocan un extremo del cuadro, y los extiende hasta el
otro extremo. Si se indica una lista de layers, sólo estos serán extendidos.
:corner direction1 direction2 [layers]
Similar a :fill, pero traza
un codo desde la dirección 1 a la 2.
A2.2.11.- Plowing
:plow direction [layers]
Mueve los bordes de los objetos
contenidos en el cuadro en la dirección indicada, respetando las reglas de
diseño.
Direction ha de ser una de las cuatro básicas.
Layers permite
seleccionar que layers son afectados.
:plow selection direction [layers]
Similar al anterior, pero
trabaja con los objetos seleccionados en lugar de emplear el cuadro.
:plow {nojogs,jogs}
Permite seleccionar si se desean pocos codos
en los cables durante el plowing.
:plow {straighten,nostraighten}
Permite selecciónar si se desean
eliminar codos durante el plowing.
:plow {boundary,noboundary}
Emplea el cuadro para indicar un área
fuera de la cual no debe y tener efecto el plowing.
A2.2.12.- Diseño celular
Nombres que se hallan en una célula:
• Superior: Nombre genérico de la subcélula
•
Inferior: Nombre concreto de la instancia
Es conveniente que las células se solapen lo mínimo posible, y, si lo hacen, no está permitido que los layers se solapen de modo que aparezcan nuevos dispositivos. Las células que forman parte de un array se tratan como una sola instancia, esto es, todos los comandos que afectan a un elemento del array, afectan a todos los demás.
:select cell f
Permite seleccionar la célula que
se halla bajo el cursor. Los comandos que operan sobre selecciones pueden
emplearse con las células seleccionadas.
:expand [toggle] x ( :expand)
ˆX ( :expand toggle )
Expande las células seleccionados, si se
emplea toggle, conmuta su estado de expansión.
:unexpand X ( :unexpand )
Esconde las
células seleccionadas.
:getcell name
Busca la célula name.mag en el disco y crea una
instancia de ésta con su esquina inferior izquierda alineada con la misma
esquina del cuadro.
:edit
Selecciona una célula como la de edición, de modo que el
resto de células quedan bloqueadas.
:identify newid
Permite modificar el nombre particular de una
instancia de una célula.
:see {allSame,no allSame}
Permite que todos los objetos se vean en
color brillante con independencia de si se hallan en la célula activa.
Las reglas de diseño se verifican automáticamente y de forma contínua. Las violaciones de las reglas se indican mediante un área punteada.
| :drc why y | Indica las violaciones de reglas de diseño dentro del cuadro. |
| :drc find [number] | Posiciona el rectángulo sobre un error e imprime su motivo. Si se indica un número va directamente a este error. |
| :drc count | Rastrea cada célula bajo el rectángulo e imprime el número de errores que contiene. |
| :see {no errors,errors} | Permite no mostrar las violaciones de las reglas de diseño. |
| :drc {off,on} | Desactiva el verificador de reglas de diseño (o lo activa) |
| :drc catchup | Pone al día todas las violaciones de reglas de diseño si el drc está off |
| :drc check | Fuerza la revisión completa de las reglas de diseño. Útil si el diseño se ha importado de fuera de MAGIC. |
Únicamente puede conectar puntos que pertenecen a células distintas.
Las etiquetas deben cumplir:
:specialopen netlist
Abre una ventana para la creación de un
fichero netlist. Mediante el menú se pueden posicionar etiquetas y crear el
fichero de nodos. Las etiquetas se ponen con referencia al cuadro.

Para el caso de búsqueda puede usarse el comando :feedback
| :feedback find | Busca la siguiente área de feedback |
| :feedback clear | Borra la información de feedback |
| :feedback help | Ayuda sobre feedback |
| :feedback why | Informa del mensaje asociado a un área de feedback |
BIR Se pregunta un nombre para el fichero
BDR
Usa el nombre de la célula como netlist
Los siguientes comandos son accesibles desde el menú
:verify
Comprueba que el cableado cumpla el netlist
:print
Imprime los nombres de todos los terminales del nodo actual
:showterms
Pone áreas de feedback para identificar todos los
terminales del nodo actual.
:cleanup
Comprueba que no hayan etiquetas perdidas ni nodos con un
sólo terminal
:dnet
Borra el nodo seleccionado
:shownet
Muestra el material conectado al objeto bajo el
rectángulo.
Por último, para realizar el trazado del routing
:route
Realiza el routing. Conviene comprobar luego con
:verify. Los lugares donde el routing falla se muestran con áreas de
feedback.
:route [options...]
Realiza opciones especiales para el routing.
Algunas antes y otras después de hacer el routing. Estas son:
:extract
Genera un "net" a partir del cableado existente que
conecta con la región bajo el cuadro.
:ripup [netlist]
Borra todo el material eléctricamente conectado
al que se halla bajo el cuadro. Si se emplea la opción netlist permite eliminar
el routing existente.
:trace [name]
Ilumina todos los objetos conectados a los
terminales que contienen "name". Si no se especifica "name", se muestra la red
actual.
A2.2.15.- Extracción de circuitos
:extract [all]
Extrae el circuito equivalente de todas las células
modificadas, creando un fichero .ext para cada una. Empleando la opción all,
fuerza la extracción de todas las células.
:extract cell name
Extrae únicamente una célula seleccionada, y
crea el fichero name a partir de ella.
:extract {showparents,parents}
En el primer caso se muestra la
ascendencia de la célula seleccionada. En el segundo caso se extraen todas las
células de la ascendencia.
:extract warn option
Indica que gestión se hará con los "warnings"
que se produzcan. Option puede ser:
:extract [do] length [option]
Extracción de longitudes de pistas.
Mediante :extract do length se habilita este tipo de extracción. Las
posibles opciones para ":extract length option" son:
:extresis
Extracción de resistencias importantes. El circuito debe
estar ya extraído (ver manual).
A2.2.16.- Multiples ventanas
Cada ventana representa una célula raíz, que es la indicada al abrirla. Varias ventanas pueden asociarse a la misma célula en distintas posiciones y con distintos factores de zoom. La inscripción sobre la ventana es del tipo:
:closewindow O
Cierra la ventana
activa.
:underneath
Pone la ventana activa debajo de todas las otras
:over
Pone la ventana activa sobre las otras
:scroll
Scrolling de la ventana activa
:center
Centra la ventana en el cursor
:windowpositions filename
Guarda en un fichero un conjunto de
comandos que guardan información de las ventanas.
:specialopen type [args]
Abre una ventana de tipo especial.
Posibles tipos:
:color [number]
Pasa a editar el color indicado
:save [techStyle displayStyle monitorType]
Salva el mapa de color
en un fichero
:load [techStyle displayStyle monitorType]