1. Sí, es correcto lo que decís. En la solución nuestra exageramos
2. Sí, se puede
3. Efectivamente, el dato más antiguo está siempre presente, la letra dice "La salida Dout[7..0] presenta el valor del dato más antiguo almacenado en el FIFO". Para saber si funciona la solución que proponés de hacer "unload" con el mismo pulso IDSP que habilita el buffer triestado hay que hacer un análisis más fino, porque corrés el riesgo que el dato cambie al siguiente valor cuando lo estás leyendo. Como te dicen que el FIFO retira el dato con el flanco de subida de "unload", en principio funcionaría, aunque faltaría verificar que el tiempo de hold que te garantice el FIFO (cuánto tiempo se mantiene el dato viejo después del flanco) sea suficiente para garantizar que se cumple el tiempo de hold que te pide el Z80 (t16: "Data hold time after /RD Rise" en la cartilla del Z80).
Saludos,
julio
2. Sí, se puede
3. Efectivamente, el dato más antiguo está siempre presente, la letra dice "La salida Dout[7..0] presenta el valor del dato más antiguo almacenado en el FIFO". Para saber si funciona la solución que proponés de hacer "unload" con el mismo pulso IDSP que habilita el buffer triestado hay que hacer un análisis más fino, porque corrés el riesgo que el dato cambie al siguiente valor cuando lo estás leyendo. Como te dicen que el FIFO retira el dato con el flanco de subida de "unload", en principio funcionaría, aunque faltaría verificar que el tiempo de hold que te garantice el FIFO (cuánto tiempo se mantiene el dato viejo después del flanco) sea suficiente para garantizar que se cumple el tiempo de hold que te pide el Z80 (t16: "Data hold time after /RD Rise" en la cartilla del Z80).
Saludos,
julio