[zxspectrum] zx-badaloc

  • From: "Alessandro" <apoppi@xxxxxxxx>
  • To: <zxspectrum@xxxxxxxxxxxxx>
  • Date: Sun, 29 Jun 2008 13:46:20 +0200

In questo periodo sto acquisendo una certa esperienza nel campo delle FPGA, grazie a cose che devo fare al lavoro. In particolare sono molto attratto dalla scheda di valutazione che sto utilizzando, per la Spartan 3E (combinazione e` proprio una xilinx!).


La scheda e` questa: http://www.xilinx.com/products/devkits/HW-SPAR3E-SK-US-G.htm monta una spartan 3E 500 a 320 pin, una flash, una ddr con dimensioni esagerate e altra roba.

Questa fpga ha a bordo dei DCM, digital clock manager, in grado di sintetizzare gli 85MHz utilizzati dal badaloc partendo dai 50 presenti sulla scheda (eliminando la necessita` dell'oscillatore programmabile). La scheda ha una uscita VGA sulla quale potrei trasportare la logica del badaloc, anche se manca il controllo brightness (che si puo` fare).

Ha una quantita` notevole di 'block ram' (360Kbit, pari a 45KBytes) che puo` essere organizzata come si vuole, che potrei usare come ram video spectrum a doppia porta (due banchi da 16K come nel 128K e nel badaloc, eliminando la IDT da 68 pin che costa un patrimonio). Una piccola parte potrei usarla come scan converter, ma non basta per farlo come sul badaloc in cui raddoppia la frequenza di quadro a 100Hz (ci vogliono 128K), pero` potrei solo raddoppiare le linee per avere 31.25KHz sull'orizzontale e 50Hz verticali, probabilmente un monitor VGA lo aggancia (e forse diventa compatibile anche con gli LCD, che ai 100 del badaloc non ci arrivano). Si risparmia la ram da 128K.

La fpga ha abbastanza spazio per accogliere lo Z80 sotto forma di codice VHDL, si risparmia lo Z80 (oltre al fatto che probabilmente si possono superare i 20MHz di clock).

La flash seriale da pochi euro necessaria per la configurazione al power-on (l'fpga contiene solo ram, da riconfigurare ad ogni accensione) puo` essere letta anche a sistema in funzione e contenere in teoria le rom necessarie, da copiare in un unico chip di DDR (sulla scheda ce n'e` uno da 64MBytes, penso che per lo Z80 possano bastare): si risparmia la flash parallela e c'e' molta piu` ram.

In teoria si potrebbe sintetizzare tutto il badaloc in un solo chip, comprese le altre due cpld delle sd-card, seriale, joystick, tastiera e mouse PS/2... la scheda diventerebbe sbrogliabile.

Ho provato a compilare la logica dello schermo spectrum prendendola dal badaloc insieme allo Z80 di www.opencores.com (T80) lavorandoci un po` di serate, e occupa il 20% delle risorse.

Sono molto attratto dall'idea di comprarmene una e vedere cosa esce sulla vga, cosa che tuttavia potrei testare su quella al lavoro previa richiesta ufficiale di cazzeggiamento :-)

Ciao!


Other related posts: