Orientación para entender (algo) el ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
Dustin
Commodore 128
Commodore 128
Mensajes: 101
Registrado: 19 May 2014, 09:28
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Atari 2600
Primera consola: Atari 2600
Gracias dadas: 1 vez
Gracias recibidas: 7 veces

Orientación para entender (algo) el ZX-Uno

Mensajepor Dustin » 19 May 2014, 13:20

Hola,

Soy estudiante de informática y este Retromadrid estuve curioseando en el stand del ZX-Uno. La verdad es que estuve un rato largo poniendo la oreja y fue muy interesante, pero la mayoría de las cosas que explicaban allí se me escapaban.

Pero sí que me gustaría ampliar conocimientos, al menos para entender un poco mejor lo que hacéis y por esa razón quería pedir algún consejo a los involucrados en el proyecto sobre por dónde empezar. Los conocimientos de los que parto son algunas nociones sobre arquitectura de computadores, un miaja de VHDL (lo más que he programado es una unidad de control que llamarla de juguete se queda corto) y algo de esamblador MIPS, que es lo que parece se estila hoy día a ese respecto.

El paso lógico parecería empezar por tener una base decente de VHDL. He mirado por ahí y parece que el libro cachi piruli en la materia es "The Designer's Guide to VHDL", de un tal Ashenden.

¿Es un buen punto de comienzo tanto en cuestión de materia como de bibliografía? ¿Es mejor aprender un poco de varias cosas en su lugar? ¿Mejor empezar por otro lado?

En fin, cualquier consejo es bienvenido. :)

Gracias

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Zardoz » 19 May 2014, 13:34

Ya no Tocáis el spARC en primero con el VHDL ?
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor mcleod_ideafix » 19 May 2014, 13:42

Dustin escribió:El paso lógico parecería empezar por tener una base decente de VHDL...

No estoy seguro de que haya una única vía de aprendizaje, pero intuyo que el primer paso lógico es precisamente conocer la lógica de los computadores. Tener nociones de arquitectura de computadores es bueno.... de hecho se da por sabido, pero incluso antes que eso, es tener conocimientos (más que nociones) de circuitos digitales, tanto combinacionales como secuenciales, entre los últimos, conocer los circuitos básicos como los contadores, las máquinas de estado, secuenciadores, etc. Poder verlos en un esquemático (como podría ser el esquema del Harlequin) y saber qué función realizan en el circuito global.

Para lo que es el ZX-Uno en particular, disponer de una copia del libro de la ULA de Chris Smith es recomendable. Mucha de la "ULA" del ZX-Uno está basada precisamente en el trabajo de Chris.

A partir de ahí, ponerte con algún lenguaje de descripción de hardware. Casi casi todo el core del ZX-Uno se ha escrito no en VHDL, sino en Verilog. Aprender VHDL o Verilog es casi una cuestión de gustos. A mi personalmente me gusta más Verilog, pero porque vengo del lenguaje C. Para otra persona quizás agradezca lo estricto que es VHDL con los tipos, que impide que te equivoques en algunas cosas. Ponerte y hacer cosas sencillas a más complejas. Dices que ya habías hecho pequeños controladores, ¿no? Pues es un comienzo :) Coge el ISE Webpack y aunque no tengas un entrenador de FPGA, puedes escribir código y simularlo con el ISim. Habitúate a leer cronogramas, y ver cómo interaccionan en el tiempo los distintos elementos de tu circuito. Ponte pequeños retos: un contador simple, un sumador de 8 bits... Busca tutoriales del lenguaje HDL que hayas escogido y mira cómo se hacen las cosas.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Dustin
Commodore 128
Commodore 128
Mensajes: 101
Registrado: 19 May 2014, 09:28
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Atari 2600
Primera consola: Atari 2600
Gracias dadas: 1 vez
Gracias recibidas: 7 veces

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Dustin » 19 May 2014, 13:51

Zardoz escribió:Ya no Tocáis el spARC en primero con el VHDL ?


Pues si te digo la verdad, ni me suena lo que dices. O:)

-- Actualizado 19 May 2014, 14:09 --

mcleod_ideafix escribió:
Dustin escribió:El paso lógico parecería empezar por tener una base decente de VHDL...

No estoy seguro de que haya una única vía de aprendizaje, pero intuyo que el primer paso lógico es precisamente conocer la lógica de los computadores. Tener nociones de arquitectura de computadores es bueno.... de hecho se da por sabido, pero incluso antes que eso, es tener conocimientos (más que nociones) de circuitos digitales, tanto combinacionales como secuenciales, entre los últimos, conocer los circuitos básicos como los contadores, las máquinas de estado, secuenciadores, etc. Poder verlos en un esquemático (como podría ser el esquema del Harlequin) y saber qué función realizan en el circuito global.

Para lo que es el ZX-Uno en particular, disponer de una copia del libro de la ULA de Chris Smith es recomendable. Mucha de la "ULA" del ZX-Uno está basada precisamente en el trabajo de Chris.

A partir de ahí, ponerte con algún lenguaje de descripción de hardware. Casi casi todo el core del ZX-Uno se ha escrito no en VHDL, sino en Verilog. Aprender VHDL o Verilog es casi una cuestión de gustos. A mi personalmente me gusta más Verilog, pero porque vengo del lenguaje C. Para otra persona quizás agradezca lo estricto que es VHDL con los tipos, que impide que te equivoques en algunas cosas. Ponerte y hacer cosas sencillas a más complejas. Dices que ya habías hecho pequeños controladores, ¿no? Pues es un comienzo :) Coge el ISE Webpack y aunque no tengas un entrenador de FPGA, puedes escribir código y simularlo con el ISim. Habitúate a leer cronogramas, y ver cómo interaccionan en el tiempo los distintos elementos de tu circuito. Ponte pequeños retos: un contador simple, un sumador de 8 bits... Busca tutoriales del lenguaje HDL que hayas escogido y mira cómo se hacen las cosas.


Vaya, no contaba con cambiar de lenguaje. :-).

Máquinas de estado, multiplexores, decos, biestables, eso lo ví con cierto detalle en fundamentos de computadores.

El problema es que lo que he visto a partir de ahí son cosas sueltas ( o al menos así me las han presentado): camino de datos por un lado, jerarquía de memoria por otro, buses de aquella manera. Pero nada de ver una aquitectura "tipo" que junte todo. Y ahí es donde me pierdo miserablemente, no tengo ni idea de cómo funciona todo a la vez ni de por dónde empezar a desentrañarlo.

Si entiendo bien, ¿comprender lo que hacéis pasaría por el libro de Chris Smith y entender cómo está implementado iría por la parte de los lenguajes de descripción de HW?

Saludos!

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Zardoz » 19 May 2014, 15:05

De que universidad eres ?
En la UAM , en practicas de fundamentos de arquitectura de computadores, hicimos desde 0 una CPU ARC en VHDL. El ARC es un sparc súper simplificado para enseñanza.
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek

Avatar de Usuario
falvarez
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 173
Registrado: 10 Mar 2013, 16:59
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo GameBoy
Gracias dadas: 11 veces
Gracias recibidas: 4 veces
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor falvarez » 19 May 2014, 15:11

Zardoz escribió:Ya no Tocáis el spARC en primero con el VHDL ?


Cuando yo estudié, en primero ni tocabas un ordenador :tecle:

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Zardoz » 19 May 2014, 15:16

Cambian mucho las cosas. Yo he sido conejillo de indias de Bolonia, e hicieron cosas como dar C en primero, y pedir a los alumnos instalarse Linux en su casa o portátil para tener un entorno de programación aceptable. Eso sirvió para espantar en el primer cuatrimestre los que pensaban que Ing. Informática es usar el Word, e instalar Windows ... xD Aun recuerdo que el primer día, le comente a uno medio en broma que Linux era mejor que Vista y me salto con algo de "Pues a mi me lo van actualizar a Windows 7!".. obviamente a ese chaval no lo he vuelto a ver el pelo en la carrera.
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor mcleod_ideafix » 19 May 2014, 15:42

Dustin escribió:El problema es que lo que he visto a partir de ahí son cosas sueltas ( o al menos así me las han presentado): camino de datos por un lado, jerarquía de memoria por otro, buses de aquella manera. Pero nada de ver una aquitectura "tipo" que junte todo. Y ahí es donde me pierdo miserablemente, no tengo ni idea de cómo funciona todo a la vez ni de por dónde empezar a desentrañarlo.

Para esas cosas es para lo que te puede servir el libro de Chris Smith.

Dustin escribió:Si entiendo bien, ¿comprender lo que hacéis pasaría por el libro de Chris Smith y entender cómo está implementado iría por la parte de los lenguajes de descripción de HW?

Comprender cómo está hecho lo que hemos hecho pasa por haber leído el libro de Chris Smith y/o leer su blog sobre el Harlequin. Entender los detalles de la implementación pasa por saber leer la descripción que está realizada en Verilog, que es el lenguaje principal que se ha usado en la descripción del ZX-Uno (aunque hay tres módulos escritos en VHDL: el procesador, el controlador de teclado y el chip de sonido AY-3-8912).

Para la ULA, que quizás sea el componente más complejo, después de la CPU, el libro de Chris y la documentación que estamos dejando en la wiki del ZXUno: www.zxuno.com
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Dustin
Commodore 128
Commodore 128
Mensajes: 101
Registrado: 19 May 2014, 09:28
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Atari 2600
Primera consola: Atari 2600
Gracias dadas: 1 vez
Gracias recibidas: 7 veces

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Dustin » 19 May 2014, 19:41

mcleod_ideafix escribió:
Dustin escribió:El problema es que lo que he visto a partir de ahí son cosas sueltas ( o al menos así me las han presentado): camino de datos por un lado, jerarquía de memoria por otro, buses de aquella manera. Pero nada de ver una aquitectura "tipo" que junte todo. Y ahí es donde me pierdo miserablemente, no tengo ni idea de cómo funciona todo a la vez ni de por dónde empezar a desentrañarlo.

Para esas cosas es para lo que te puede servir el libro de Chris Smith.

Dustin escribió:Si entiendo bien, ¿comprender lo que hacéis pasaría por el libro de Chris Smith y entender cómo está implementado iría por la parte de los lenguajes de descripción de HW?

Comprender cómo está hecho lo que hemos hecho pasa por haber leído el libro de Chris Smith y/o leer su blog sobre el Harlequin. Entender los detalles de la implementación pasa por saber leer la descripción que está realizada en Verilog, que es el lenguaje principal que se ha usado en la descripción del ZX-Uno (aunque hay tres módulos escritos en VHDL: el procesador, el controlador de teclado y el chip de sonido AY-3-8912).

Para la ULA, que quizás sea el componente más complejo, después de la CPU, el libro de Chris y la documentación que estamos dejando en la wiki del ZXUno: http://www.zxuno.com


Muchas gracias, ¡ahora a ver si soy capaz de sacar algo en claro! ;)

-- Actualizado 19 May 2014, 19:50 --

Zardoz escribió:De que universidad eres ?
En la UAM , en practicas de fundamentos de arquitectura de computadores, hicimos desde 0 una CPU ARC en VHDL. El ARC es un sparc súper simplificado para enseñanza.


¡ Ahí va :D ! Casi te iba a contestar de broma que por SPARC sólo me viene Sun Microsystems y justo iban por ahí los tiros.

Soy de la URJC y la verdad es que no estoy muy contento. No es que quiera me machaquen, pero cosas como aprender Pascal en introducción a la programación (total, si la gente en general pasa) en lugar de algo un poco más lucido (en la UC3M me suena que dan Java directamente) y el nivel de alguna otra asignatura no son de recibo.

saludos

Avatar de Usuario
Zardoz
MSX Turbo R
MSX Turbo R
Mensajes: 283
Registrado: 09 Sep 2013, 19:04
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Madrid
Contactar:

Re: Orientación para entender (algo) el ZX-Uno

Mensajepor Zardoz » 19 May 2014, 20:51

Pues java quizás sea peor para aprender, ya que no sabes que realmente estas haciendo, y te meten en POO sin aprender lo básico.
Yo con la UAM lo único que me puedo quejar es de la asignatura de electrónica.
Yep, I have a blog :zardoz.es
Emulador DCPU-16 VM
Emulador Trillek


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados