Sobre versiones 14.7 y anterior

Dudas, cuestiones, sugerencias y peticiones en general sobre el proyecto / Questions and requests about the project
Responder
andornot
Mensajes: 10
Registrado: 06 Nov 2015, 14:53

Sobre versiones 14.7 y anterior

Mensaje por andornot » 11 Nov 2015, 13:08

En el foro indicais:
Hemos comprobado que al sintetizar con ISE 14.7 los últimos cores de spectrum, aparecen aleatoriamente corrupciones y cuelgues en el uso del spectrum, así que revertimos a ISE 12.4 el cual genera bitstreams estables.

No lo sé, supongo que sí funcionará. La versión 14.7 te valdrá igualmente, si desactivas la contención no se producen cuelgues. No hay ninguna razón por la cual una versión sea mejor que otra, pero casualmente en el core de spectrum con la contención activada la 12.4 es estable y la otra no
.

¿Podeis explicar un poco que es la contención ?

Yo tengo la ultima version y me gustaria trabajar sobre ella, supuestamente las ultimas versiones corrige fallos.
¿Se sabe en que parte no sintetiza bien el codigo? Posiblemente cambiando el codigo de otra forma el programa lo genere mejor pero hay que ver donde esta el fallo.

Avatar de Usuario
mcleod_ideafix
Mensajes: 828
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre versiones 14.7 y anterior

Mensaje por mcleod_ideafix » 11 Nov 2015, 14:54

andornot escribió:¿Podeis explicar un poco que es la contención ?
Aquí se refiere al mecanismo que tiene el Spectrum para parar el reloj de la CPU cuando la ULA necesita acceder a la memoria. Este comportamiento está implementado, pero en realidad, y gracias a la velocidad de la FPGA y de la memoria, podríamos funcionar sin contención todo el rato, es decir, sin parar el reloj de la CPU. Sintetizando con la versión 14.7, Quest vio que su core no funcionaba bien cuando activaba el mecanismo de contención, y volvía a funcionar bien cuando lo desactivaba. Aún no sabemos por qué ocurre esto.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

andornot
Mensajes: 10
Registrado: 06 Nov 2015, 14:53

Re: Sobre versiones 14.7 y anterior

Mensaje por andornot » 11 Nov 2015, 16:07

¿Como se puede activar/desactivar el mecanismo de contención?

Avatar de Usuario
mcleod_ideafix
Mensajes: 828
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre versiones 14.7 y anterior

Mensaje por mcleod_ideafix » 11 Nov 2015, 16:50

Desde la utilidad .zxunocfg usando la opción -c . Por ejemplo:
.zxunocfg -cn

Deshabilita la contienda en el Spectrum, acercándose así su comportamiento al de un Pentagon. De hecho, la configuración que más se le parece a la de un Pentagon es usar timings de 128K con la contención deshabilitada, así:
.zxunocfg -t128 -cn

Otras demos, como por ejemplo, Devotion, funcionan bien con timings de 48K, sin contención. Prueba esa demo (está dentro de la carpeta "demos" en la sección de software del repositorio y ejecútala con contención:
.zxunocfg -t48 -cy

Y luego sin contención:
.zxunocfg -t48 -cn

Verás que hay una parte, justo después de la imagen de la mujer que sale del coche con la puerta abierta, que usa una serie de gráficos formados por puntos que rotan, se agrandan, se achican, etc, que con la contención habilitada funciona más lentamente (se nota sobre todo en la música) que con la contención deshabilitada.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Responder