Usando HADES Parte 3

Documentos relacionados
CIRCUITOS COMBINACIONALES CON isplever

NERO BURNING ROM. Manual de grabación. By CriCri

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

Tecnología ESO. Tareas para realizar con ordenador

Quartus II. Dr. Andrés David García García. Departamento de Mecatrónica. TE.1010 Sistemas Digitales

Manual para crear menus en DivX con Quick Menu Builder

CÓMO DESCOMPRIMIR UN ARCHIVO DESDE EL EXPLORADOR DE WINDOWS XP

PROGRAMAS PARA LA CLASSPAD MANAGER.

Pasos para conectar la CPLD al cable JTAG USB

ACTIVIDADES BASE DE DATOS ACCESS 2007

OPENOFFICE IMPRESS. Creación básica de presentaciones digitales

USO DEL CORREO ELECTRÓNICO EN HOTMAIL.

Menú de Arranque en Windows VISTA

Compartir discos y particiones

Gestión de bases de datos de mysql desde Dreamweaver

Rawel E. Luciano B Sistema Operativo III. 4- Compartir datos en una red Linux usando NFS. José Doñe

Diseño, Simulación e Implementación de Circuitos con ORCAD RELEASE 9.1

UNIDAD 6 TEMA 4: OFIMÁTICA AVANZADA. CLASE 04: PLANTILLAS

Conectar excell con Access

SISTEMAS OPERATIVOS. Windows: gestión de archivos con el explorador

Nota: Para los diseños, anexar los respectivos diagramas, códigos y simulaciones según el caso.

Hipervínculos. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com

Tipos de datos estructurados

Uno de nuestros trabajadores, Penélope Fernández Hernández, es despedida y la empresa reconoce la improcedencia del despido.

CAPÍTULO 3. OPERACIONES CON ARCHIVOS

GENERACION DE METADATOS CON gvsig

I N S T R U C T I V O E Q U I P O G P S J U N O

07 Variables. 7.1 Variables globales Definición

LABORATORIO Nº 6 SUMA DE DOS NUMEROS EN POWER BUILDER

Guía de Usuario CÓMO CONSULTAR EL ESTADO DE TUS EXPEDIENTES JUDICIALES POR INTERNET CONSULTAS DE EXPEDIENTES JUDICIALES - CEJ

Actividad 7: Trabajar con capas

Cómo manejar el editor HTML de Moodle?

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

Manual Power Point Patrones

GOOGLE SITES INICIAL

Índice de contenido Crear un tema nuevo...3 Editar un tema...6 Insertar diferentes elementos en el body...7 Insertar una imagen...

Programación Delphi con Bases de datos

Manual Power Point Manejo de Hipervínculos

Unidad N 3. Operaciones con archivos.

Usando HADES Parte 1. Contenido Introducción Instalación Ejecución Menú contextual El primer circuito 5

Sistemas de Bases de Datos 2 Practica 1

OPENOFFICE CALC. Manejo básico de hojas de cálculo

MANUAL PARA CREAR NUESTRA PAGINA WEB EN DREAMWEAVER

Curso de Windows 95/98 CTCV

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

UTILIZACIÓN DE PLANTILLAS Y ASISTENTES QUE INCORPORA LA APLICACIÓN Y CREACIÓN DE PLANTILLAS PROPIAS

Manos a la obra. Selección de archivos

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Formato de diapositiva PowerPoint 2007

TEMA 1: SISTEMAS OPERATIVOS. Herramientas y utilidades

Cmap toools MAPAS CONCEPTUALES

1.- CREAR UNA BASE DE DATOS CON ACCESS

ARCHIVOS, CARPETAS Y UNIDADES

INSERCIÓN DE UN REGISTRO CON PHP Y MYSQL

UNIDAD 1. Introducción a Photoshop.

KARDEX TAURO MANUAL DE USO

Tutorial Programa Oziexplorer

Combinación de correspondencia en Microsoft Office Word 2003

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

GUIA PRACTICA DE OPEN OFFICE IMPRESS

UNIDAD 4. MODIFICAR TABLAS DE DATOS

ENTORNO DE TRABAJO E INTRODUCCIÓN A JAVA - ANEXO Versión: 1.0.1

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Para poder acceder al sistema debe estar registrado como usuario del mismo.

Java desde Consola Utilizando Java sin Path

"Integraciòn costo de ventas por linea-zona"

P á g i n a 1. Cómo encendemos la computadora?

TEMA 1: SISTEMAS OPERATIVOS. Evolución, configuración y manejo básicos

Normalmente el destino se puede saber mirando la barra de estado del navegador cuando el ratón esté sobre el hipervínculo.

APRENDIENDO EXCEL Tema 1

Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

Ejercicio paso a paso. Crear, abrir y cerrar una base de datos

Cómo administrar una cuenta de correo electrónico?

Tramita tu Sello Digital

EL EXPLORADOR DE WINDOWS

Ejercicio paso a paso: Para aplicar formato de celdas (alineación)

PROCESO PARA CAMBIO DE SERVIDOR

EXTENSIÓN: Kosmo Desktop v2.0. Origen de datos KML

Dos de los elementos más importante de cualquier sistema operativo son los archivos y las carpetas.

Como cambiar un rostro por otro en Photoshop

Manual. Procedimientos para manejo de RFQ. -Diseño-

[INTRODUCCION A LOS EDITORES DE TEXTO]

Presentación de un Informe:

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

1.Configure un servidor NTP en GNU/Linux. Conecte un cliente NTP en Windows o GNU/Linux.

Manual de uso de Editor V.

MANUAL PARA CONFIGURACION RED INALAMBRICA SISTEMA OPERATIVO: WINDOWS VISTA. Configuración Red inalámbrica WIFI Politécnico JIC

GUÍA 10 Tema: Creación de Gif animado.

Mostramos en este ejemplo como realizar un puzzle de forma muy sencilla utilizando el programa Macromedia Dreamweaver 1.

Gestión de datos en Eviews

3. Entra a tu Pagina Sign In. Sign out

Práctica 3: Presentaciones con OpenOffice I

Aprovechamiento pedagógico del presentador de diapositivas PowerPoint

! Introducción. ! Contenidos

Introducir Datos en La Solución. Manual de usuario Versión 1.1

Qué diferencia práctica hay entre una cuenta de correo POP y otra IMAP?

Manual Word Plantillas y Formularios

Aprovechamiento pedagógico del software CMAPTOOLS

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Apéndice de Windows

Guardar y abrir documentos (I)

Transcripción:

Usando HADES Parte 3 José Luis Ortíz Olvera jluis.oo@gmail.com 10-octubre-2005 Decodificador HADES ofrece un decodificador 1:4 Para crearlo abrimos el menú contextual y elegimos: CREATE > GATES > DEMUX 1:4 Parece que la versión 0.98a de HADES tiene un bug: Cuando se crea un dispositivo no aparecen los nombres de los puertos aunque en el menú Layers sí está seleccionada la opción port labels. El problema se soluciona desactivando y volviendo a activar la casilla port labels. Ojalá se corrija este error en próximos releases. Ahora ya tenemos el decodificador y podemos ver los nombres de los puertos. 1

Si queremos probar su funcionamiento, podemos conectar algunos input pin y output pin. Descubriremos que resulta muy difícil conectar un alambre al puerto A del decodificador. Esto se debe a que el apuntador del mouse que hace las conexiones (no la flecha blanca, sino la pequeña cruz) se desplaza sobre una rejilla magnética. Podemos configurar la resolución de la rejilla magnética en el menú View > Magnetic Grid... Para conectar el puerto A del decodificador es suficiente una resolución de 1/8 in. 2

ROM HADES ofrece varios modelos de ROM. Uno de los modelos se puede crear directamente desde el menú contextual: CREATE > RTL > ROM 1Kx8 Esta es una ROM que tiene 1024 = 1K localidades. Cada localidad almacena una palabra de 8 bits. Por eso se llama: ROM 1Kx8 Observe que: 1024 localidades = 2 10 Por lo tanto, las direcciones se expresan con 10 bits: A 9, A 8, A 7, A 6,..., A 0 Los demás modelos se pueden crear desde el catálogo de dispositivos prediseñados llamado Colibri. Para abrir este catálogo, en el menú contextual elegimos: CREATE > BROWSE... En seguida aparecerá la ventana de Colibri: 3

Hacemos doble click en built-in para expandir el árbol de dispositivos prediseñados: Nos desplazamos hasta la carpeta built-in/hades/models/rtl y vemos que en su interior hay varios modelos de ROM, incluyendo la ROM 1Kx8 que creamos anteriormente. De hecho, todos los dispositivos que se pueden crear desde el menú contextual, están disponibles también en Colibri (pues provienen de aquí). Podemos encontrar más modelos de ROM en otras carpetas, pero son especializados, así que por el momento usaremos solo estos. 4

Para nuestros ejemplos no es necesaria una ROM con muchas localidades, así que escogeremos la ROM 64x8 Hacemos doble click sobre ella y la colocamos en el lienzo de diseño. (Ya podemos cerrar la ventana de Colibri) Esta es una ROM que tiene 64 localidades. Cada localidad almacena una palabra de 8 bits. Por eso se llama: ROM 64x8 Observe que: 64 localidades = 2 6 Por lo tanto, las direcciones se expresan con 6 bits: A 5, A 4, A 3, A 2, A 1, A 0 Cada localidad almacena una palabra de 8 bits, por eso hay 8 puertos de salida: Y 7, Y 6, Y 5,..., Y 0 Podemos ver que esta ROM tiene dos puertos de control: noe y ncs En el puerto ncs debemos poner la señal "chip select" Si esta señal vale '0', la ROM funciona (el dispositivo está encendido). Si esta señal vale '1', la ROM no funciona (el dispositivo está apagado) y produce alta impedancia en los puertos Y 7, Y 6, Y 5,..., Y 0 En el puerto noe debemos poner la señal "output enabled" Si esta señal vale '0', la ROM permite leer su contenido en los puertos Y 7, Y 6, Y 5,..., Y 0 Si esta señal vale '1', la ROM no permite leer su contenido, produciendo alta impedancia en los puertos Y 7, Y 6, Y 5,..., Y 0. Qué es alta impedancia? De manera informal: Alta impedancia es un tipo especial de señal que tiene un valor muy débil. Es como si desconectáramos el alambre que produce la señal. (not driven = no hay productor de señal) Se representa con el caracter 'Z' y en HADES se muestra con color amarillo. 5

Cómo se asigna contenido a la ROM Antes de usar la ROM, debemos asignarle su contenido. Para ello necesitamos un editor de texto plano, como el bloc de notas, que permita escribir texto simple (sin formato ni estilos especiales). El contenido se escribe de la siguiente manera: Cada renglón contiene una pareja de la forma <dirección>:<palabra> Tanto la dirección como la palabra se escriben en hexadecimal. En el ejemplo vemos que: En la dirección 0000 se guardará la palabra A4 En la dirección 0001 se guardará la palabra 3F En la dirección 0002 se guardará la palabra 7C En la dirección 0003 se guardará la palabra 18 Cada palabra (8 bits) se representa con dos dígitos hexadecimales porque un dígito hexadecimal = 4 bits: Dígito Hexadecimal Binario 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 Para la ROM 64x8, sólo hay 64 localidades, así que las direcciones van desde la 0 hasta la 63 (decimal), es decir, desde la 0000 hasta la 003F (hexadecimal). Una vez que hemos escrito el contenido en el archivo de texto, lo guardamos con extensión rom. En este ejemplo guardaremos el archivo con el nombre contenido.rom 6

Ahora hay que decirle a HADES que cargue el contenido de la ROM desde el archivo contenido.rom Colocamos el apuntador del mouse sobre la ROM y hacemos click derecho para abrir el menú contextual, luego escogemos edit... En seguida aparecerá una ventana que muestra el contenido de la ROM Para cargar el contenido desde un archivo, seleccionamos File > Open... y abrimos el archivo contenido.rom Ahora la ventana muestra el contenido que se cargó desde el archivo. Podemos ver que ahora la ventana muestra los valores que provienen del archivo contenido.rom. Cada par de dígitos hexadecimales en color azúl es una palabra. El contenido de la ROM se muestra en renglones de 8 palabras cada uno. El número rojo a la izquierda es la dirección de la primera palabra de ese renglón. En esta ventana nosotros podríamos modificar el contenido de la ROM y guardar el archivo, pero tiene algunos bugs, así que es mejor crear el archivo de texto por separado (como lo hicimos aquí) y sólo cargarlo. Si usted quiere utilizar esta ventana para crear o modificar el contenido, debe asegurarse de que ninguna localidad quede con X, siempre escriba algún valor o inicialice con ceros (menú Edit>Initialize>Zero ) 7

Cerramos esta ventana para regresar al lienzo de diseño de HADES Ahora podemos probar el funcionamiento de la ROM colocando algunos Input pin y Output pin. El contenido de la dirección 000000 es 10100100 = A4 (hex) El contenido de la dirección 000010 es 01111100 = 7C(hex) El contenido de la dirección 000100 está indefinido porque nosotros no especificamos un valor para esa dirección. En HADES, el color magenta indica que una señal está indefinida durante la simulación. 8

Es importante guardar el circuito después de haber cargado el contenido de la ROM. Guardaremos el circuito como uso_rom.hds HADES escribirá en el archivo uso_rom.hds una referencia al archivo contenido.rom para que se inicialice correctamente la ROM cada vez que se abra el circuito que creamos. Podemos ver esta referencia si abrimos el archivo uso_rom.hds con algún editor de texto plano: (Todos los circuitos que en HADES se pueden abrir con un editor de texto plano para ver como están descritos en forma de texto) Podemos ver que el circuito hace referencia al archivo D:/LogicDesign/circuitos/contenido.rom Cada vez que abramos el circuito en HADES, automáticamente se cargará el contenido de la ROM desde ese archivo. Pero aquí hay un inconveniente: La referencia es una dirección absoluta, es decir, incluye la ruta completa del archivo contenido.rom en mi unidad de disco duro D: Qué pasaría si le envío estos archivos a un amigo y él los pone en un directorio llamado C:\Juan? Naturalmente HADES no podría cargar el contenido de la ROM porque no podría encontrar el archivo D:/LogicDesign/circuitos/contenido.rom Para resolver este inconveniente, podemos modificar la referencia, reemplazando la dirección absoluta con una dirección relativa. Es decir, reemplazaremos D:/LogicDesign/circuitos/contenido.rom simplemente con contenido.rom. De ésta manera, HADES buscará el archivo contenido.rom en el directorio actual, sea cual sea, donde se encuentre el circuito uso_hades.hds El archivo queda así: No olvidemos guardar las modificaciones. 9

Diseño jerárquico Una vez que hemos creado un circuito en HADES, es posible re-utilizarlo como un componente para elaborar un sistema mayor. A esto se le llama diseño jerárquico. Una de las ventajas del diseño jerárquico es que los sistemas complejos se construyen de forma modular, utilizando dispositivos pre-diseñados que pueden ser probados por separado. dispositivo 1 (empaquetado) sistema compuesto dispositivo 2 (empaquetado) dispositivo 3 (empaquetado) Creación de un dispositivo reutilizable en HADES Lo primero que debemos hacer es crear un circuito en HADES, por ejemplo vamos a crear un circuito negador de 4 bits. Este dispositivo tiene 4 puertos de entrada A y 4 puertos de salida B. El puerto C es para poner la señal de control. Si esta señal vale '0' los bits de A pasan directamente a los puertos de salida B. Si esta señal vale '1', los bits de A pasan negados a los puertos de salida B El circuito se muestra a continuación: Es importante que pongamos nombres a los Input Pin y Output pin, pues estos serán los nombres de los puertos cuando empaquemos el dispositivo. 10

Guardamos el circuito con el nombre negador.hds Para poder usar este dispositivo en un sistema mayor, debemos asignarle un nombre y un símbolo. Primero le ponemos el nombre: Edit > Set design name... Vamos a llamarlo negador Luego, para crear el símbolo vamos al menú: Edit > Create Symbol Un símbolo es la figura que representa al dispositivo y muestra sus puertos de entrada y salida. HADES creará el símbolo y lo guardará automáticamente en un nuevo archivo que tiene el mismo nombre que el circuito, pero con extensión sym. En nuestro ejemplo el símbolo será guardado en el archivo negador.sym Por último, guardamos los cambios: File > Save y ya podemos utilizar este dispositivo como componente de futuros diseños. Ejemplo: Abrimos un nuevo lienzo de diseño: File > New Para crear una instancia de un dispositivo que nosotros mismos creamos, en el menú contextual elegimos Create > Create Subdesign... Y escogemos el archivo.hds correspondiente al dispositivo que queremos usar. En nuestro ejemplo escogemos el archivo negador.hds 11

Y de inmediato podemos colocar el dispositivo en el lienzo de diseño. Es importante notar que los puertos del dispositivo corresponden a los Input Pin y Output Pin que le pusimos al circuito negador. Podemos verlo funcionar: Aunque es muy simple, este nuevo circuito ya es un sistema compuesto, porque utiliza el dispositivo negador que diseñamos por separado. Podemos guardar este sistema compuesto en un archivo llamado compuesto.hds Cuando guardamos un sistema compuesto, HADES escribe en el archivo las referencias a los dispositivos que éste utiliza. En nuestro ejemplo, HADES escribirá una referencia al dispositivo negador.hds, podemos comprobarlo si abrimos el archivo compuesto.hds usando un editor de texto plano: Cada vez que HADES cargue el sistema compuesto, encontrará esta referencia y buscará el archivo D:/LogicDesign/circuitos/negador.hds para cargar el negador. 12

Aquí aparece nuevamente el problema de las referencias absolutas: La referencia D:/LogicDesign/circuitos/negador.hds le indica a HADES que debe buscar el archivo negador.hds en el directorio /LogicDesign/circuitos/ dentro de mi unidad de disco D:. Si colocamos los circuitos en un lugar distinto, HADES ya no podrá encontrar el negador y no podrá construir el sistema compuesto. Por esta razón es mejor poner una referencia relativa, reemplazando D:/LogicDesign/circuitos /negador.hds simplemente con negador.hds para que HADES busque éste archivo en el directorio actual. Modificamos el archivo compuesto.hds usando el editor de texto plano y guardamos los cambios: 13