Proyecto ZDP-80 - Nuestro microordenador desde cero [#01]

BBC, Dragon, Sam Coupé, Oric ...
Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor radastan » 03 Oct 2012, 18:11

winston escribió:Si yo fuera el diseñador de este ordenador, usaría una CPLD (en lugar de chips de 74xx). El Xilinx XC95144XL tiene recursos muy similares de la ULA del Spectrum (es decir, no es bastante lejos de las ULA de los 80) y tiene las mismas ventajas que la ULA - no tienes que usar un montón de chips o tener una placa enorme. Los ventajas que tienen las CPLD sobre las ULA es que es posible corregir los errores con un cable JTAG :-)


Tan simple como coger el circuito final y hacerlo, nadie lo impide.

¡Bienvenido a ZdP Winston!
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

jepalza

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor jepalza » 03 Oct 2012, 18:33

winston escribió:Si yo fuera el diseñador de este ordenador, usaría una CPLD (en lugar de chips de 74xx). El Xilinx XC95144XL tiene recursos muy similares de la ULA del Spectrum (es decir, no es bastante lejos de las ULA de los 80) y tiene las mismas ventajas que la ULA - no tienes que usar un montón de chips o tener una placa enorme. Los ventajas que tienen las CPLD sobre las ULA es que es posible corregir los errores con un cable JTAG :-)


¡Que no! CPLD OUT! Larga vida al Z80+RAM+EPROM+74LS+TMS .... :-({|=

Avatar de Usuario
sejuan
Commodore 128
Commodore 128
Mensajes: 91
Registrado: 17 May 2004, 08:47
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Sony PlayStation 1
Ubicación: Almoradí. ALICANTE
Gracias recibidas: 1 vez

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor sejuan » 03 Oct 2012, 18:49

Es acojonante todo lo que estáis montando. Seguiré el hilo aunque me hubiera gustado más que hubierais intentado hacer un SAM coupe <rX
"Estos son mis principios. Si no le gustan tengo otros." Groucho

Livingstone
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 2
Registrado: 17 Jul 2012, 18:54

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor Livingstone » 03 Oct 2012, 19:10

yo le metería más ram

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: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor mcleod_ideafix » 03 Oct 2012, 20:40

winston escribió:Si yo fuera el diseñador de este ordenador, usaría una CPLD (en lugar de chips de 74xx)...

Dylan, hijo mío... somos una "rara habis" (en español, "rara habis" significa algo así como "bichos raros"). Sinclair, Amstrad, Oric, etc, se dieron cuenta ya a principios de los 80 que haciendo las cosas 100% con lógica discreta, lo que conseguías eran: muchos dolores de cabeza, cacharros caros, pocas prestaciones para el mogollón de chips que necesitaban, y hambrientos de amperios; tanto que ya hace 30 años que empezaron a pasarse a los circuitos configurables, pero se ve que en algunas zonas de España aún no se han enterado de esto, y se considera que diseñar con CPLD's o incluso GAL's es "demasiado moderno" :P

Hoy precisamente hablando con ex-alumnos mios de la Escuela Politécnica Superior, a los que he "introducido" levemente en el tema de la lógica programable, me cuentan que en la Escuela no ofrecen ninguna asignatura en la que enseñen las cosas que yo les he enseñado, porque "no interesa" o más bien, porque los más viejos del lugar son de la opinión de que este tipo de cosas no son "electrónica de la de verdad", sino informática. :shock: ...

... deben ser los únicos que aún no se han enterado de que la informática nació y ha ido siempre de la mano de la electrónica, por lo que es natural que ambas converjan de la forma en la que se empezó hace 30 años, y que hoy ha evolucionado a eso que llaman "co-diseño" (co-design).

-- 03 Oct 2012, 20:55 --

sejuan escribió:me hubiera gustado más que hubierais intentado hacer un SAM coupe <rX

¿Quién te dice que no haya nadie pensando en ello? ;)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 930
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor Joss » 03 Oct 2012, 21:48

mcleod_ideafix escribió: .... se considera que diseñar con CPLD's o incluso GAL's es "demasiado moderno" :P

Según enfoca el diseño Radastan creo que se puede considerar el diseño independiente de la implementación. Si diseñas con lógica discreta puedes portarlo a CPLD o FPGA facilmente, si tienes conocimientos de sus entornos de desarrollo. Si el diseño tiene en cuenta como implementación física CPLD o FPGA, el intentar hacerlo con lógica discreta, puede ser imposible, creo .....

Has hablado de una CPLD de Xilinx. Por que no una de Altera? Por el precio o por las prestaciones? No se puede hacer un diseño para CPLD o FPGA que sea independiente de la marca?

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor radastan » 03 Oct 2012, 22:05

Joss escribió:
mcleod_ideafix escribió: .... se considera que diseñar con CPLD's o incluso GAL's es "demasiado moderno" :P

Según enfoca el diseño Radastan creo que se puede considerar el diseño independiente de la implementación.


¡Hombre! ya era hora que pillarais la idea. Que lo vaya a diseñar con lógica discreta facilita que luego podamos sacar una versión en CPLD, GAL, FPGA, o lo que te de la gana. Es más, facilita que si luego decimos de hacer una "versión superior" partamos de unos esquemas fácilmente modificables o en los que basarnos.

Además, empleando lógica discreta se entiende mejor el funcionamiento de cada elemento.

Yo tengo muy claro que tendré dos versiones de este bicho:

- Con lógica discreta
- Con CPLD, GAL, o lo que sea

Por cierto, estoy mirando opciones para contentar a todos y se me han ocurrido dos ideas:

- Que sea posible cambiar una de las páginas de memoria (o todas) de forma externa por el bus (para ampliaciones de memoria)
- Que exista un segundo modo de vídeo en tonos de gris, con blanco, negro, y dos tonos de gris y la misma resolución. Ocuparía 12K... nos vale

Lo dicho, son ideas, cuando hayamos terminado la gráfica vemos que opciones de mejora para la misma tenemos sin complicar el circuito.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

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: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor mcleod_ideafix » 03 Oct 2012, 22:16

Joss escribió:Si diseñas con lógica discreta puedes portarlo a CPLD o FPGA facilmente, si tienes conocimientos de sus entornos de desarrollo. Si el diseño tiene en cuenta como implementación física CPLD o FPGA, el intentar hacerlo con lógica discreta, puede ser imposible, creo .....

En realidad es al revés. Si diseñas en lógica discreta puede ser muy difícil convertirlo a un diseño para CPLD o FPGA. Estos dispositivos funcionan (mejor) asumiendo que el diseño es síncrono, cosa que no tiene por qué cumplirse en un diseño con lógica discreta. De hecho, el clon Harlequin del Spectrum y el Jupiter ACE son dos ejemplos de diseños en lógica discreta que no son síncronos y que por tanto no tienen una traducción (directa) a FPGA. Sin embargo, un diseño realizado desde el principio para ser implementado en FPGA o CPLD y que no use ningún elemento propio de éstas (como módulos DSP o cosas así) podrá portarse siempre a lógica discreta.

Joss escribió:Has hablado de una CPLD de Xilinx. Por que no una de Altera? Por el precio o por las prestaciones? No se puede hacer un diseño para CPLD o FPGA que sea independiente de la marca?

Te respondo en orden. Xilinx sencillamente porque son las que conozco, no por otra cosa.

Tengo chips de Altera, pero aún no he tenido ocasión (o excusa) para usar el entorno de Altera (Quartus) para trabajar con ellas. Dicen los que entienden de estas cosas que Quartus es mucho mejor que ISE (en entorno de trabajo de Xilinx). Para mi, el ISE Webpack (así se llama la versión gratuita) funciona bastante bien, así que, no sé, Quartus puede que sea la leche. De lo poquito que he bicheado hasta ahora, hay una cosa que no me ha gustado y es que la versión gratuita de Quartus, te "capa" el uso de un doble o cuádruple nucleo para sintetizar. Es decir, que la operación de sintetizar o del place-n-route, que es de las operaciones más costosas en tiempo, tarda artificialmente más en Quartus porque su versión gratuita no usa toda la potencia del PC que tengas.

Por otra parte, creo que no hay CPLD más barata que la XC9536XL de Xilinx, por lo que recuerdo de haber mirado en distribuidores, pero no me hagas mucho caso porque igual no he mirado todo lo que debería :)

Respecto a un diseño independiente de marca, sí. De hecho, cuando hago un diseño (sobre todo para CPLD) no tengo en cuenta si es Xilinx o no. Lo bueno de las descripciones (en VHDL o Verilog) es que son precisamente independientes del chip físico donde se implementarán. Otra cosa es cuando ya lo haces "de verdad" tienes que elegir un chip con su patillaje, etc. Si existe una CPLD de Altera parecida a la de Xilinx (en recursos), puedes hacer el diseño una vez, sintetizarlo e implementarlo por separado para cada chip, y tendrías al final dos chips, incompatibles en patillaje entre sí (seguramente) pero que podrían estar cualquiera de los dos en la misma placa, haciendo la misma función. Podrías incluso tener en la placa la huella de ambos chips y que a la hora de montar la placa el usuario decidiera qué chip usar. Un poco, para que se me entienda, como la opción que hay en el ZX81 para montar un par de chips de 1Kx4 cada uno, o montar un único chip, más gordito, de 2Kx8 para la RAM de usuario.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor antoniovillena » 03 Oct 2012, 22:22

En cuanto al sistema de video propongo lo siguiente:
Usar un único modo de 256x192x2 bits pero de la siguiente forma:
-El bit alto del pixel en $4000-$5800
-El bit bajo del pixel en $5800-$7000

Así se puede usar el mismo esquema de contención del ZX Spectrum, sólo que el segundo byte en vez del atributo se trata de los bits bajos. Y también es posible dejar a 0 la parte baja y tener una pantalla de 2 colores pero bastante más rápida.

Y otra sugerencia sería tener una salida dual: pon un lado video compuesto en B/N con 4 niveles de grises, y por otro salida RGB con una paleta de 4 colores (la paleta de grises sería fija: #000000, #555555, #AAAAAA y #FFFFFF)

Y ya puestos, si se quiere implementar shadow video, se pondría usar una ROM más pequeña, de 8K, y el siguiente mapeado: $2000-$5000 (pantalla normal) y $5000-$8000 (pantalla shadow). Todo depende de lo que se quiera implementar en el firmware. Si se quiere un intérprete de BASIC con 8K faltaría espacio, pero si se trata de hacer una simple BIOS en la que se soporte un SO tipo MS-DOS con 8K hay de sobra para implementar un sistema de ficheros, entrada/salida estándar, lectura de teclado a alto nivel, escritura en paleta a alto nivel, etc...

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero [#01

Mensajepor radastan » 03 Oct 2012, 22:27

mcleod_ideafix escribió:Sin embargo, un diseño realizado desde el principio para ser implementado en FPGA o CPLD y que no use ningún elemento propio de éstas (como módulos DSP o cosas así) podrá portarse siempre a lógica discreta.


Repito, que no hay problema, que si quieres fijamos las especificaciones, te dejamos tiempo para implementarlo, y nos pasas la equivalencia en lógica discreta... pero algo me dice que como que eso sería darte todo el trabajo y ya estás bastante liado con otras sopotocientas cosas.

-- 03 Oct 2012, 21:35 --

antoniovillena escribió:En cuanto al sistema de video propongo lo siguiente:
Usar un único modo de 256x192x2 bits pero de la siguiente forma:
-El bit alto del pixel en $4000-$5800
-El bit bajo del pixel en $5800-$7000

Así se puede usar el mismo esquema de contención del ZX Spectrum, sólo que el segundo byte en vez del atributo se trata de los bits bajos. Y también es posible dejar a 0 la parte baja y tener una pantalla de 2 colores pero bastante más rápida.

Y otra sugerencia sería tener una salida dual: pon un lado video compuesto en B/N con 4 niveles de grises, y por otro salida RGB con una paleta de 4 colores (la paleta de grises sería fija: #000000, #555555, #AAAAAA y #FFFFFF)

Y ya puestos, si se quiere implementar shadow video, se pondría usar una ROM más pequeña, de 8K, y el siguiente mapeado: $2000-$5000 (pantalla normal) y $5000-$8000 (pantalla shadow). Todo depende de lo que se quiera implementar en el firmware. Si se quiere un intérprete de BASIC con 8K faltaría espacio, pero si se trata de hacer una simple BIOS en la que se soporte un SO tipo MS-DOS con 8K hay de sobra para implementar un sistema de ficheros, entrada/salida estándar, lectura de teclado a alto nivel, escritura en paleta a alto nivel, etc...


La idea del chisme es algo sencillo, he dicho lo del modo de vídeo con gama de grises porque no altera las frecuencias base y se puede hacer con una pequeña modificación que apenas ocupa espacio en la placa. Lo de la shadow memory estaría bien para juegos... pero es que no podemos olvidar que esto no va a ser un ordenador de 8 bits en los 80, esto va a ser una cosa que vamos a montar una docena de personas como mucho (ojalá me equivoque) y no creo que ninguno de esos 12 vayamos a hacer un juego tan exigente como para usar Shadow Memory y cosas similares.

No se, ya os digo que estoy abierto a sugerencias, ayudadme a ir implementando el modo monocromo y cuando lo tengamos funcionando ya nos podemos plantear opciones como los tonos de gris, color, o lo que sea, y ver si realmente merece la pena. Es lo bueno del proyecto,que podemos cacharrear sobre la marcha y modificar las especificaciones finales si nos interesa.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝


Volver a “Otros microordenadores”

¿Quién está conectado?

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