KCPSM6 PicoBlaze: ¡Soft cores al poder!

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jepalza » 10 May 2018, 07:32

azesmbog escribió: У меня давно есть DE10 nano,
:maestro: quiero uno!!!! :lloron:

azesmbog
Mensajes: 319
Registrado: 17 Feb 2016, 23:07

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por azesmbog » 10 May 2018, 07:40

jepalza escribió: :maestro: quiero uno!!!! :lloron:
я когда-нибудь, может еще в этом году, буду приобретать себе еще один DE10nano:)))
Обязательно! )
Первый экземпляр работает,но не на 100% , в связи с природными катаклизмами, гроза !!!, ему не очень повезло, как и пяти моим другим компьютерам, обычным, которые были в это время включены в общую сеть :))) Всех и всегда предупреждаю, что во время грозы надо все отключать от электрической сети, а вот надо же, сам на это попал :((((((((((((( :temblando:

Avatar de Usuario
jotego
Mensajes: 158
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jotego » 10 May 2018, 08:10

azesmbog escribió: В первоначальном ядре Galaksija был PicoBlaze, но он был сделан только для Spartan 3 и несовместим со Spartan 6.
(traducción según Google:
El núcleo original de Galaksija era PicoBlaze, pero estaba hecho solo para Spartan 3 e incompatible con Spartan 6.)

He visto que hay al menos tres versiones de PicoBlaze:

1. Una optimizada para Spartan 3, de Xilinx
2. Una optimizada para Spartan 6, de Xilinx
3. Una genérica y de código abierto: la PacoBlaze.

No hay problema en usar la versión genérica en FPGAs de Intel (Altera).

Avatar de Usuario
jotego
Mensajes: 158
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jotego » 15 May 2018, 17:08

Bueno... He probado uno distinto de Xilinx: el microblaze. Este es un procesador de 32 bits, con todas las de la ley. Mirad el juego de instrucciones.

He probado a meterlo en la Spartan 6 (se elige desde el menú de IPs del webpack, muy fácil) y me sale que ocupa un 20% de las slices y que correría a 120MHz.

Ahí tenéis donde meter el M68000 para ZX-UNO.

Avatar de Usuario
jotego
Mensajes: 158
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jotego » 15 May 2018, 23:45

El picoflex en la Spartan 6 del ZX-UNO:

Slice Logic Distribution:
Number of occupied Slices: 26 out of 1,430 1%
Number of MUXCYs used: 40 out of 2,860 1%

----------------------------------------------------------------------------------------------------------
Constraint | Check | Worst Case | Best Case | Timing | Timing
| | Slack | Achievable | Errors | Score
----------------------------------------------------------------------------------------------------------
Autotimespec constraint for clock net clk | SETUP | N/A| 4.884ns| N/A| 0

Ocupa 1% de la FPGA. Corre a +200MHz. Aquí metes el procesador de 8-bits que te de la gana, exacto al ciclo de reloj, usando un único picoflex.

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por desUBIKado » 17 May 2018, 22:21

Este comentario que he visto hoy en un hilo que sobre el tema hay abierto en el facebook de la MiSTer me ha parecido muy interesante:
Hlide Fremen Having a software virtual machine is quite common. What is it in question here is the reverse situation: executing micro-instructions through a hardware interpreter to reproduce a micro-coded 8-bit CPU (that is, a CISC one). While we may question about using that technic for creating an accurate cycle 486 processor, using it for 8086, Z80, 6502, etc. may be profitable because - well designed - you can save a lot of LE with having an accurate cycle reproduction. For instance, you could have a 6510 for a C64 and a 6502 for a 1541 inside the FPGA and still have a lot of place for addition. You could also fit a Z80 and an 8502 and other chips to make a C128. Obviously, I'm not saying it should be done as a replacement of the existing ones. I'm just saying they could be alternatives for cases where you may want to get more LE for additional features or for other FPGAs not regarding DE10-nano.

nch
Mensajes: 77
Registrado: 10 Ene 2018, 23:16

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por nch » 18 May 2018, 12:33

¿Se puede conseguir lo mismo emulando por software que recreando mediante una fpga?
¿Qué limitaciones tiene cada método? En términos que los pueda entender :homer:

Avatar de Usuario
desUBIKado
Mensajes: 1002
Registrado: 05 Ago 2016, 22:33

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por desUBIKado » 18 May 2018, 12:49

nch escribió:¿Se puede conseguir lo mismo emulando por software que recreando mediante una fpga?
¿Qué limitaciones tiene cada método? En términos que los pueda entender :homer:
Por todo lo que he leido, el caso es que se tiene creada una CPU de 16 bits que ocupa muy poco espacio en la FPGA. Luego se hace un programa que utilice las instrucciones de esa CPU para implementar las intrucciones de otra CPU, por ejemplo la instrucción LD A,n del Z80, y así con todas las del Z80 con exactitud a ciclo de reloj. Para que esto funcione la CPU real debe ir mucho más rápida que la que emula, por ejemplo a 80 MHz la real para emular a otra de 4 Mhz a nivel de ciclo de reloj. Lo que se gana es el espacio que ocupa en la FPGA ya que la CPU de 16 bits + programa que emula instrucciones de 2ª CPU es mucho menor que el espacio que ocupa la 2ª CPU si se define de la forma tradicional dentro de la FPGA. Esto permite meter en una FPGA con "pocos" slices más CHIPS que si se definiesen de la forma tradicional. Al ocupar menos espacio se pueden meter funcionalidades que antes no cabrían por el tamaño de la FPGA en número de slices.

nch
Mensajes: 77
Registrado: 10 Ene 2018, 23:16

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por nch » 18 May 2018, 13:22

desUBIKado escribió:
nch escribió:¿Se puede conseguir lo mismo emulando por software que recreando mediante una fpga?
¿Qué limitaciones tiene cada método? En términos que los pueda entender :homer:
Por todo lo que he leido, el caso es que se tiene creada una CPU de 16 bits que ocupa muy poco espacio en la FPGA. Luego se hace un programa que utilice las instrucciones de esa CPU para implementar las intrucciones de otra CPU, por ejemplo la instrucción LD A,n del Z80, y así con todas las del Z80 con exactitud a ciclo de reloj. Para que esto funcione la CPU real debe ir mucho más rápida que la que emula, por ejemplo a 80 MHz la real para emular a otra de 4 Mhz a nivel de ciclo de reloj. Lo que se gana es el espacio que ocupa en la FPGA ya que la CPU de 16 bits + programa que emula instrucciones de 2ª CPU es mucho menor que el espacio que ocupa la 2ª CPU si se define de la forma tradicional dentro de la FPGA. Esto permite meter en una FPGA con "pocos" slices más CHIPS que si se definiesen de la forma tradicional. Al ocupar menos espacio se pueden meter funcionalidades que antes no cabrían por el tamaño de la FPGA en número de slices.
Dicho así, parece que son todo ventajas. ¿No tiene inconvenientes? ¿Se podría distinguir una fpga "pura" de otra "mixta" recreando el mismo sistema?

Avatar de Usuario
jotego
Mensajes: 158
Registrado: 11 May 2016, 23:45
Ubicación: Valencia
Contactar:

Re: KCPSM6 PicoBlaze: ¡Soft cores al poder!

Mensaje por jotego » 18 May 2018, 20:46

nch escribió: Dicho así, parece que son todo ventajas. ¿No tiene inconvenientes? ¿Se podría distinguir una fpga "pura" de otra "mixta" recreando el mismo sistema?
Es que no hay implementación pura de un sistema. Un sistema electrónico tiene que responder a unas señales con otras en determinado tiempo y forma. Como lo hagas depende de ti.

Un emulador no hace eso porque simula el resultado. Sin embargo lo que se está diciendo en este hilo es implementar el sistema usando una CPU. No es emulación -aunque usa una CPU. Es otra forma de hacer lo mismo en tiempo y forma indistinguible desde los patitas de la FPGA del chip original.

Tiene mucho sentido hacerlo así y no tardaréis en ver algo mío desarrollado de esta forma.




Enviado desde mi iPhone utilizando Tapatalk

Responder