microprocessore custom, realizzarlo non è mai stato così facile

 Il microprocessore che state utilizzando non vi soddisfa? Magari vi abbandona proprio quando avete l’esigenza di coprire requisiti imposti da qualche stravagante cliente? Perché non pensare di realizzare il vostro personalissimo processore?

La rivista americana Circuit Cellar vi propone un interessante articolo sul mondo dei microprocessori in maniera assolutamente libera, cioè liberamente scaricabile dal sito.

L’articolo è di Jim Turley e, in maniera per nulla pedante, descrive le varie fasi e gli accorgimenti che occorrono tenere presente per realizzare questa personalissima applicazione.

L’articolo non è però corredato dal codice sorgente, VHDL o Verilog, ma si richiamano diverse implementazioni di processori rilasciati secondo la classica formula open source.

Infatti, l’autore cita LEON-1 (lavoro distribuito da European Space Agency, ESA) Turley, però, ha il merito di fornire diverse informazioni che vogliono fare luce sulle varie fasi che occorrono considerare per realizzare, con successo, un progetto di questo tipo.

Per esempio, Jim Turley ci mostra come costruire gli opcode previsti per questo nuovo microprocessore.

Jim suggerisce di utilizzare a questo scopo un tool automatico.

La definizione dell’architettura interna del processore può essere fatta anche da scratch, attraverso la definizione di una entity che racchiude la macchina a stati del processore.

Turley consiglia, per non avventurarci in sessioni di debug lunghe e costose, di utilizzare dei tool che, magari come i blocchi della Lego, ci permettono di definire un insieme di istruzioni in maniera automatica.

Jim Turley suggerisce, tra i tanti, ARC International (da non confondere con ARM). ARC propone ARChitect, un software che permette, attraverso una GUI, di definire il design del nostro processore custom.

Credo che qualsisi strumento automatico in grado di sollevare il progettista da lavori ripetitivi e noisi sono sempre ben accetti, ma, personalmente, non penso che tool di questo tipo possano generare un design con elevate caratteristiche prestazionali: sono, quindi, soluzioni da ponderare bene.

Ben vengano tutte le soluzioni automatiche, ma, attenzione, valutiamo ogni aspetto. In sostanza, l’articolo di Turley rimane valido perché in ogni caso pone in evidenza i diversi aspetti di un lavoro di questo tipo.