Montando el prototipo V4

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Montando el prototipo V4

Mensaje por Haplo » 22 Feb 2016, 18:18

Nota importante del administrador. El prototipo v4 tiene un pinout del JTAG distinto al que aparece en la web. Cuando montéis el cable, no sigáis el esquema de allí. Seguid este:

pinoutJTAG.png
pinoutJTAG.png (33.16 KiB) Visto 6433 veces
Hola, acabo de soldar el kit y me estoy bajando el ISE (burrada de gigas por cierto). El caso es que hace mazo de tiempo que no lo uso y no sé si ha cambiado en algo el tema de la configuración del programa respecto a la versión 2 que tengo del zxuno.

-¿cuáles serían los parámetros del iMPACT?
-Recuerdo que empezaba con los test de jepalza, ¿todavía se usan?
-De todas maneras, ¿cuál sería el orden de ".bit" para ir probando que todo está correcto?

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Montando el prototipo V4

Mensaje por Quest » 22 Feb 2016, 18:44

En el caso de la v4+ todavía no he subido nada al repositorio. Intentaré subir lo que tengo en cuanto pueda (ucf, script para el mcs correcto, algún .bit de prueba, etc). Ninguno de los .bit que hay ahora subidos te va a servir, a no ser que resintetices y generes unos nuevos con el nuevo UCF (si te corre mucha prisa antes de que lo suba, te lo puedes hacer tú mirando los esquemas). Yo ya no uso ningún test previo para comprobar si funciona. Grabo el MCS entero a saco y enseguida veo si funciona o no.

EDITO: Me he acordado que la revisión del core de NES de Distwave que subí hace poco (en /cores/nes_v2_spartan6/test1_v4) sí que la hice para placas v4+, por si quieres usarlo para probar.

El tema es que cambian bastantes cosas con respecto a la versión 2.

- Casi todo el pineado hacia la FPGA ha cambiado
- Con la eliminación de 2 resistencias con respecto a anteriores diseños (en señales WP y HOLD), ahora sólo se pueden cargar los bitstreams desde la SPI a 4x (en cuanto actualice los scripts lo subo cambiado), o de lo contrario no funcionará. También será necesario en iMPACT, elegir como SPI flash la W25Q32BV (ya que usamos una nueva flash de 32Mbits en vez de la antigua de 8) y data width x4
- Para la carga de cores secundarios desde la nueva versión del firmware, o usando .core, también es necesario un pequeño cambio en el core principal de spectrum, módulo "multiboot.v" que también subiré en breve.
- Continuando con el mismo tema, hay que hacer algunos cambios en el proyecto ISE del core principal (spectrum) para evitar el problema de repetición de teclado, si generas tu propio bitstream, en concreto en la parte de generación del mismo "generate programming file" en el apartado de "configuration options" hay que marcar la casilla de "Enable external master clock" y justo debajo en el desplegable de master clock division elegir "50".

Seguramente se me olvida algo, ya iré actualizando si me acuerdo de algo más ;)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Montando el prototipo V4

Mensaje por Quest » 22 Feb 2016, 19:14

Acabo de actualizar el SVN simplemente con algunos archivos para la v4 en el core de spectrum (en la carpeta del test20) el pines_zxuno_v4.ucf, el tld_zxuno_v4.bit (listo para usar) y el multiboot_v4.v (este habría que sustituir manualmente en ISE si quieres resintetizar) por si quieres usarlos para probar.

Para que funcione primero hay que grabar la flash, como siempre, evidentemente. En /firmware/roms/generamcs_multiboot_Q32.bat tienes que realizar algunos cambios para que te funcione. Primero cambiar el path del ZXCORE (que está por el principio del archivo) para que apunte al .bit de la v4, ya que ahora mismo apuntan a los de v3. El resto de los paths (para el resto de cores) puedes dejarlos en blanco (como está el 9) o sustituirlos por los .bit para v4 que tu mismo te generes.

Y por último, para que arranque correctamente el core de spectrum en v4, has de cambiar en ese mismo archivo bat, la línea:

call promgen -w -p bin -s 4 -r boot_header.hex -o boot_header.bin

Por:

call promgen -w -p bin -s 4 -r boot_header_x4.hex -o boot_header.bin

Luego, al ejecutar el .bat, el archivo resultante prom_multiboot_Q32.mcs es el que tienes que grabar en la SPI flash
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Montando el prototipo V4

Mensaje por Haplo » 22 Feb 2016, 19:40

Josú, pues si que ha habido cambios!
Una cosa, lo de grabar a 4X... Eso es posible hacerlo con el programador paralelo? O tengo que pillarme el programador USB?

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Montando el prototipo V4

Mensaje por Quest » 22 Feb 2016, 19:44

No tienes q hacer nada distinto :D solo configurar iMPACT como te comentaba y usar con tranquilidad tu cable paralelo como siempre. Eso si, como la flash es 4 veces mas grande que antes, te va a tardar 4 veces mas tiempo en grabarla
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Montando el prototipo V4

Mensaje por Haplo » 22 Feb 2016, 20:36

he modificado las líneas que indicas y el bat al ejecutarlo me tira muchos errores de file not found, no such fule or directory, etc.

¿Está bien el .bat?

Añadiendo "C:\zxuno" a la variable path de windows no lo arregla...

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Montando el prototipo V4

Mensaje por Quest » 22 Feb 2016, 20:49

Seria interesante que postearas exactamente el volcado de texto de todo lo que esta haciendo el bat en tu equipo. Asi lo reviso y te digo.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Montando el prototipo V4

Mensaje por Haplo » 22 Feb 2016, 21:03

cierto :oops: , aquí está:

Código: Seleccionar todo

C:\ZXUNO\firmware\roms>generamcs_multiboot_Q32

C:\ZXUNO\firmware\roms>SETLOCAL ENABLEEXTENSIONS

C:\ZXUNO\firmware\roms>generamcs_multiboot_Q32

C:\ZXUNO\firmware\roms>SETLOCAL ENABLEEXTENSIONS

C:\ZXUNO\firmware\roms>SETLOCAL DISABLEDELAYEDEXPANSION

C:\ZXUNO\firmware\roms>SET "zCORE2=Sam Coupe"

C:\ZXUNO\firmware\roms>SET "zCORE3=Master System"

C:\ZXUNO\firmware\roms>SET "zCORE4=Jupiter ACE"

C:\ZXUNO\firmware\roms>SET "zCORE5=Oric Atmos"

C:\ZXUNO\firmware\roms>SET "zCORE6=VIC-20"

C:\ZXUNO\firmware\roms>SET "zCORE7=Apple II"

C:\ZXUNO\firmware\roms>SET "zCORE8=Acorn Atom"

C:\ZXUNO\firmware\roms>SET "zCORE9="

C:\ZXUNO\firmware\roms>SET "path_ZXCORE=..\..\cores\spectrum_v2_spartan6\test20\
tld_zxuno_v3.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE2=..\..\cores\sam_coupe_spartan6\test4\tld
_sam_v3.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE3=..\..\cores\sms_v2_spartan6\test2\sms_rg
b_final_v3.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE4=..\..\cores\jupiter_ace_spartan6\test2\t
ld_jace_spartan6.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE5=..\..\cores\oric_spartan6\test1\build\or
ic.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE6=..\..\cores\vic20_spartan6\test1\ise\vic
20.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE7=..\..\cores\Apple2_spartan6\test2\build\
apple2_top_v3.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE8=..\..\cores\acorn_atom_spartan6\test2\wo
rking\atomic_top_zxuno_v3.bit"

C:\ZXUNO\firmware\roms>SET "path_zCORE9="

C:\ZXUNO\firmware\roms>call name9cores.bat
        1 archivo(s) copiado(s).

File logo256x192.rcs.zx7b compressed from logo256x192.rcs (6912 to 381 bytes)
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
Pass 1 complete (0 errors)
Pass 2 complete (0 errors)
Pass 3 complete
Errors: 0, warnings: 0, compiled: 3729 lines, work time: 0.078 seconds

0xD98 bytes written (3480) at offset 0x8000 (32768)

File strings.bin.zx7b compressed from strings.bin (3480 to 1590 bytes)
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
Pass 1 complete (0 errors)
Pass 2 complete (0 errors)
Pass 3 complete
Errors: 0, warnings: 0, compiled: 3729 lines, work time: 0.047 seconds

0x4000 bytes written (16384) at offset 0x0 (0)
SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
Pass 1 complete (0 errors)
Pass 2 complete (0 errors)
Pass 3 complete
Errors: 0, warnings: 0, compiled: 219 lines, work time: 0.015 seconds
ESXMMC086b4.BIN
06000.bin
..\firmware.rom
48.rom
128en.rom
plus3es40zxmmc.rom
se.rom
leches.rom
ManicMiner.rom
JetSetWilly.rom
LalaPrologue.rom
Chess.rom
HungryHorace.rom
HoraceSpiders.rom
Planetoids.rom
SpaceRaiders.rom
MiscoJones.rom
        1 archivo(s) copiado(s).
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
El sistema no puede encontrar la ruta especificada.
srec_cat: boot_header.bin: open: No such file or directory
srec_cat: zxuno_multiboot_Q32.bin: open: No such file or directory

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core2.bin

Input file not found: core2.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core3.bin

Input file not found: core3.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core4.bin

Input file not found: core4.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core5.bin

Input file not found: core5.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core6.bin

Input file not found: core6.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core7.bin

Input file not found: core7.tap

Input file not found: zxuno_multiboot_Q32.bin

Input file not found: core8.bin

Input file not found: core8.tap

File generated successfully

File generated successfully

Input file not found: ZXCore.bin

Input file not found: ZXCore.tap
C:\ZXUNO\firmware\roms>

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Montando el prototipo V4

Mensaje por Quest » 22 Feb 2016, 21:11

Tienes que editar promgen.bat y cambiar \zz por la unidad donde tengas instalado el ISE.

De paso veo que no has cambiado el path de ZXCORE, sigue apuntando al de v3, asi que aunque te hubiera generado el mcs, no te habria funcionado en el zxuno.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Haplo
Mensajes: 368
Registrado: 05 Oct 2015, 13:51
Ubicación: Ciudad Real

Re: Montando el prototipo V4

Mensaje por Haplo » 22 Feb 2016, 21:28

Gracias, ya compila bien.
Lo que te había pegado era de la versión "restaurada" del repositorio que había vuelto a bajar por si había hecho yo alguna, sorry.

De todas maneras no consigo que iMPACT me reconozca la spartan... :? voy a repasar los pines porque igual hay alguno que no hace buen contacto.
Los voltajes en U6 y U7 parece que están bien y los leds se encienden (D4 bastante flojo por cierto)
Luego probaré de nuevo.

Responder