Costruzione di un processore semplice

Salve,

nella mia scuola abbiamo progrettato e realizzato (virtualmente) un circuito, funzionante, che simula un
piccolo processore capace di leggere del codice assembler (in hex) ed eseguire semplici operazioni come
la sottrazione e l'addizione. Il tutto è molto semplice e lo voglio realizzare solo per poter aver creato il mio primo processore.

In pratica avrei bisogno di poter ricostruire il circuito ma utilizzando arduino come ROM (ossia io carico il codice da PC e il mio processore lo legge da arduino) e anche come decoder (ossia che ad un entrata di 14bit mi attiva/disattiva 13 uscite da 1 bit).

Vorrei sapere se è possibile costruirlo con un arduino oppure con un arduino mega (visto che ha più uscire), ma preferirei con un arduino originale.

Il materiale che mi serve è il necessario:

Data Path:
4 x Multiplexer con 2 entrate a 8 bit, 1 uscita a 8 bit ed una select line da 1 bit
3 x Registri da 8 bit (con linee di clock, enable, reset)

Alu:
3 x Full Adder da 8 bit
1 x Multiplexer con 4 entrate da 8 bit, un uscita da 8 bit ed una select line da 2 bit
1 x Porta NOT da 2 bit
1 x Porta OR da 2 bit

Control Path:
2 x Full adder da 11 bit
2 x Multiplexer con 2 entrate da 11 bit, 1 uscita da 11 bit ed un select line da 1 bit
1 x Registro* da 11 bit (con linee di clock, enable, reset)
1 x Registro da 14 bit (con linee di clock, enable, reset)

Arduino deve poter far da ROM con 11bit entrata e 14 bit uscita
e anche come decoder, 15bit entrata, 13 bit uscita

Il tutto funziona con 2 clocks, sfasati di novanta gradi. e per quello sono necessari:
2 x clock
2 x flip flop di tipo D da 1 bit
2 x porte AND da 1 bit

Dite che è possibile ricreare questo circuito? Spero di si!

Tanti saluti,
Rasael

PS. Salve a tutti! Chiedo scusa se sono iniziato in tromba così ma avevo questa domanda già da un po' di tempo. Cmq sono un arduino newbie (ma non completamente newbie in materia) e sto aspettando il mio primo arduino kit a giorni!! :slight_smile:

Salve,

purtroppo non ho visto risposta al topic e quindi lo ripropongo.
Magari quello che voglio creare non è possibile farlo tramite arduino ma comunque aspettavo una risposta..

grazie
Rasael