Página 3 de 8

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 10:03
por jacaba
yo tambien me apunto para darle tralla al mi cpc.

Por cierto, como puedo conseguir el del spectrum?

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 10:48
por duca750
Me apunto, de echo ayer lo hice pero no debi darle bien a enviar, jejeje.

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 11:13
por dandare
jacaba escribió: 19 Mar 2018, 10:03 yo tambien me apunto para darle tralla al mi cpc.

Por cierto, como puedo conseguir el del spectrum?
mándale un mensaje a @mad3001 en este foro o pásate por retroshop.pt

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 11:14
por dandare
Gracias a todos por los ánimos. Pero estamos muy lejos, si es que se hará al final, de una tirada.
Vamos a ver cómo avanza porque me he empeñado en hacerlo de una forma poco tradicional y pueden salir bugs por todos lados.

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 16:50
por dandare
carmeloco escribió: 19 Mar 2018, 14:17 Veo que has optado por poner una CPLD. ¿Hay por ahí algún tutorial o algo de cómo se programan las CPLD? es decir, ¿cómo paso de un circuito de puertas lógicas a código?
Estarás limitado a lo que el IDE del fabricante de permita, en el caso de Xilinx tienes tres opciones (no me acuerdo ahora si alguna más), puedes pintar el circuito, usar VHDL o usar Verilog).

Prueba a instalarte el Xilinx ISE Webpack

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 21:13
por Kyp
Si necesitáis que os eche una mano con el código de la CPLD solo tenéis que decirlo ;)

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 21:42
por dandare
Kyp escribió: 19 Mar 2018, 21:13 Si necesitáis que os eche una mano con el código de la CPLD solo tenéis que decirlo ;)
Gracias Ricardo,
Ahora me estoy pegando con un opcode trap, es decir, tengo que capturar los Opcodes que lee el Z80. A ver si se te ocurre alguna manera elegante de hacerlo con clk de lista de sensibilidad.
Básicamente tengo que mirar en el rising edge de clk en t3, si no hay waits de por medio, y con M1=RD=MREQ=0;

M1.png
Te agradezco cualquier idea que puedas tener al respecto.

Re: Próximamente en sus Amstrads CPC...

Publicado: 19 Mar 2018, 23:18
por dandare
hombre, yo estudié vhdl hace mil años en la carrera, pero ya no me acordaba de nada. Entre preguntas a Habi, sobre todo, datasheet de la cpld, referencias de lenguaje como ésta, ... pues se va tirando :)

Re: Próximamente en sus Amstrads CPC...

Publicado: 20 Mar 2018, 10:50
por Kyp
dandare escribió: 19 Mar 2018, 21:42 Básicamente tengo que mirar en el rising edge de clk en t3, si no hay waits de por medio, y con M1=RD=MREQ=0;
Supongo que el problema aquí es distinguir entre T2 y T3. En ambos casos M1=RD=MREQ=0 pero el estado de WAIT se mira en el flanco de subida de T3, ¿no?

Lo primero que se me ocurre es capturar el estado de M1 en el flanco de subida de CLK, y en el siguiente ciclo hacer la comparación. Esto es MUY parecido a como funciona el DivMMC ;)

reg m1bis = 1'b1;
always @(posedge clk) begin
m1bis <= m1;
if(!m1bis && !mreq && !rd && !wait) trap <= 1;
end

El truco está en que lo que ocurre dentro de un always (un process en VHDL) no es secuencial. En el if, m1bis todavía vale lo que m1 en el ciclo anterior aunque parece que se asigna antes, pero la asignación ocurre realmente después de 'procesar' todo el always.

Te lo escribo en Verilog que el VHDL lo tengo muy oxidado. Creo que se entiende, sobre todo si sabes algo de C :)) :)) :))
m1bis es un std_signal
always @(posedge clk) es un process con el rising_edge de clk

Re: Próximamente en sus Amstrads CPC...

Publicado: 20 Mar 2018, 10:54
por Kyp
carmeloco escribió: 19 Mar 2018, 22:54 ¿Dónde o cómo habéis aprendido CPLD?
Yo también he aprendido por mi cuenta viendo tutoriales. Supongo que ayuda mucho el llevar programando tantos años (aunque a veces despista) y haber estudiado electrónica en su momento.