Newsgroup: it.hobby.elettronica.digitale
Titolo: CPU discreta...

Personalmente comincerei con un'implementazione VHDL, in modo da capire
quali sono le problematiche principali. Una volta che hai descritto le variè
entità che compongono la CPU e le hai simulate, potresti anche traformare il
tutto in una CPU vera e propria programmando una FPGA. Per un piccolo uP a 4
bit si potrebbe utilizzare una Flex10K
Ciao!

 Grazie!
Senza dubbio è possibile, ma io ti consiglio di affrontare il progetto su
una logica programmabile (CPLD). Dal punto di vista didattico, l'approccio è
del tutto equivalente ad utilizzare una manciata di porte logiche, visto che
puoi inserire il progetto come uno schematico classico, con il vantaggio di
non "perdere" tempo tra decine di fili, saldature, condensatori di bypass,
masse ballerine, ecc. ecc. >>prima<< di aver simulato ogni singolo blocco
funzionale.
Una CPLD da pochi euro, tipo una Altera MAX3000, in package PLCC44, dovrebbe
essere sufficiente a portare in fondo il progetto. Per lo sviluppo, puoi
scaricarti il tool gratuito MAX II Plus, che è molto adatto ad un approccio
iniziale. Ti ricordo, infine, che sull'argomento delle logiche programmabili
si è svolto un tutorial introduttivo negli scorsi numeri di Fare
Eelttronica.

Grazie!
Dunque vorresti reinventare l'Intel 4004 del 1971 (mi pare)
La cosa in teoria è possibile, in pratica mi sembra incasinata.
La parte più complicata, se vedi il silicio di un chip di processore è
il fetch, cioè la decodifica dell' istruzione.
Devi attribuire un codice ad ogni istruzione poi devi studiare come
eseguirla anche in più cilcli, devi creare una ALU per eseguire le
istruzioni, mah ci vuole tanto tempo e fatica.
comunque auguri...
ciao
  Stefano

Ciao,
sul sito della Xilinx
http://www.xilinx.com/publications/xcellonline/xcell_48/xc_roman-jones48.htm
si parla della emulazione dell'8051
Fisio
Elettronicamente
http://www.elettronicamente.com
"Redentore" <rede...@NOSPAMlibero.it> ha scritto nel messaggio
news:O5zzc.58484$Wc.18...@twister2.libero.it...


Ciao
Dai un'occhiata a questo sito 
http://mycpu.mikrocontroller.net/index2.htm
peccato solo che è tutto in tedesco
Ciao Sergio
"Redentore" <rede...@NOSPAMlibero.it> ha scritto nel messaggio
news:O5zzc.58484$Wc.18...@twister2.libero.it...


 diversi?
Guarda, io ho appena terminato di progettare una CPU a 32 bit (da
implementare su FPGA), e posso anticiparti che le difficoltà non mancano!
Come hai detto tu saltano fuori molti problemi che non ti aspettavi... :-)
Però sto parlando di qualcosa di molto più complesso ed ottimizzato di
quello che probabilmente hai in mente tu, se ti limiti a un processorino
molto semplice (poche istruzioni, niente pipeline, niente temporizzazioni
stringenti...) non ci sono particolari problemi, la cosa è fattibile...
Bisogna solo ragionarci sopra un pò...
Qualche dispositivo logico programmabile può aiutarti molto, se non vuoi
arrivare ai CPLD, ti consiglio almeno PLA, PAL o GAL per semplificare la
realizzazione delle macchine a stati per la logica di controllo...
Buona fortuna!
A.D.

MAX II Plus della Altera come tool di sviluppo/test
Avrai bisogno di un po' di tempo per imparare il vhdl (se non lo conosci) e
per imparare l'uso di Max II Plus, ma ti sconsiglio di iniziare da subito
con logiche discete vere e proprie... rischi di perdere ore ed ore solo per
un filo collegato male!
Buon lavoro

Ma invece di inventare l'acqua calda, perche non usi il NIOS dell'Altera ??
Con quello puoi pure crearti le istruzioni assembler personalizzate in 30
minuti di lavoro. E... stiamo parlando di un 32 bit.
Ciao
"Antonio Di Stefano" <antoniodistefano @ infinito . it> ha scritto nel
messaggio news:e3Qzc.60312$Wc.18...@twister2.libero.it...


 minuti di lavoro.
Si, lo so, bellissimo non c'è che dire...
Però puoi cambiare l'organizzazione della pipeline? Puoi cambiare il bus di
sistema per aumentare in throughput? Puoi aumentare l'ampiezza del bus o del
datapath? Puoi implementare un funzionamento tipo VLIW? Puoi accedere ai codici
HDL e personalizzarli come vuoi? Puoi implementarlo su ASIC all'occorrenza?
Come vedi non parlerei esattamente di "acqua calda"...
Ciao,
A.D.