Duda Tutorial de Hardware

Duda Tutorial de Hardware

de Diego Ismael Marichal Chavez -
Número de respuestas: 4

Buenas, queria consultar sobre el Tutorial de Hardware, no me queda muy claro como Quartus sabe que puerto quiero utilizar. Por ejemplo en la seccion 1.Agregar un puerto de Entrada, queremos leer los swtiches y por eso implementamos un puerto de entrada en la direccion 0x80, pero no me queda claro donde es que se indica esto, ni como sabe quartus el puerto que quiero, lo que se me ocurre es que 0x80 es la direccion predeterminada de los swtiches pero no se, la misma duda pero para la seccion de la salida.

Tambien no me queda claro que significa esto:


Que indica ese 0x8X? Intento ponerlo asi y me salta error en esa definicion

Saludos cordiales

Diego :D

En respuesta a Diego Ismael Marichal Chavez

Re: Duda Tutorial de Hardware

de Julio Perez -
Diego:
no, no existe una dirección predeterminada para los switches.
Se debe diseñar el circuito de forma que la señal IDSP_SW_n se active (valga 0) cuando se produce un ciclo de lectura de E/S en la dirección 0x80, es decir, cuando IORQ_n y RD_n valen 0, A7 vale 1 y A6...0 valen 0.
Me parece que no te vendría mal repasar algunas partes de las clases:

- Clase 2021.08 - Ciclos M (cont.), Sistema mínimo

- Clase 2021.11 - Metodos ES, Puertos, deco ES, Handshake

Buscalas en el Cronograma tentativo y Guía de clases grabadas al comienzo de la sección "Teórico"

Saludos,
julio
En respuesta a Julio Perez

Re: Duda Tutorial de Hardware

de Diego Ismael Marichal Chavez -
Gracias Julio, me re sirvio repasar la clase 11, me surgio otra duda. En esta misma clase se habla de que un Mapeo de Puertos de E/S aislada en el z80, se utilizan 256 puerto de entrada y 256 de salida, osea 8 bits que en el caso del tutorial es A[7..0], mi duda es el porque esto es asi? Que sucede con A[15..8]? No importa su valor? Me entra esta duda ya que dice que no hay decodificacion fantasma por como esta armado si el valor de A[15..8] no afecta concuerdo con que no haya fantasma, pero si el valor de A[15..8] importase,no habrian fantasmas?

Saludos cordiales

Diego :D
En respuesta a Diego Ismael Marichal Chavez

Re: Duda Tutorial de Hardware

de Julio Perez -
En principio para el espacio de E/S (IORQ activa) solamente tiene sentido el byte más bajo del bus de direcciones (A7..A0), a diferencia del espacio de memoria en que son válidos los dos bytes (A15..A0). Entonces solo se puede distinguir 256 puertos diferentes de entrada y 256 de salida. Coherente con esto, en las instrucciones IN y OUT la dirección es de 1 byte solamente.

Esto fue estrictamente cierto en los primeros modelos de Z80 comercializados. Después Zilog especificó que el valor de A15..A8 no es desconocido, sino que toma el valor de algún registro (registro A o registro B, según el tipo de instrucción, ver la columna "Comments" en la cartilla de instrucciones, o la sección Input/Output en la página 88 del pdf del Z80 User Manual). Esto te permite manejar un espacio de entrada/salida de 64K lugares si tenés la precaución de cargar el byte alto de la dirección en el registro correspondiente, antes de ejecutar la instrucción IN o OUT.
A los efectos del curso NO vamos a utilizar esta última característica y vamos a trabajar solamente con el espacio de entrada salida de 256 lugares, usando solamente el byte bajo de direcciones A7..A0.

Espero haber aclarado.
Saludos,
julio