-
Notifications
You must be signed in to change notification settings - Fork 2
Memoria
Memoria da 1 KB indirizzabile per byte e con word da 32 bit. Questo significa che sebbene gli indirizzi siano anch'essi da 32 bit, l'indirizzo massimo in grado di contenere una word è il 1020 (0x000003FC).
Il modulo vhdl MEMORY deve essere sempre affiancato da un file di testo chiamato "initial_mem_state.txt" di cui è presente un esempio nella cartella "moduli". La presenza di tale file è necessaria affinché la memoria venga inizializzata sul fronte di clock quando il segnale di RST è alto, nel caso non fosse presente, la simulazione si interromperebbe prematuramente.
Per la corretta lettura, il file deve essere composto da esattamente 256 righe, ciascuna contenente 32 cifre binarie consecutive. Esse rappresentano le word contenute nella memoria dall'indirizzo più basso fino a quello più alto. Su ogni riga, oltre alle prime 32 cifre binarie, possono essere presenti ulteriori caratteri che non verranno considerati in fase di caricamento del file e che quindi posso essere utilizzati per scrivere commenti.
La struttura della memoria, come ci è stata descritta dal professore, si traduce nella seguente struttura del file:
Dalla riga 1 alla riga 32 vi è la sezione reserved
Dalla riga 33 alla riga 128 vi è la sezione text
Dalla riga 129 in su vi è la sezione data
Inversamente, dalla riga 256 in giù cresce lo stack.