logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-01152015-123636


Tipo di tesi
Tesi di laurea magistrale
Autore
MAZZAGLIA, CRISTINA
URN
etd-01152015-123636
Titolo
AHB-Lite bus interface for embedded Flash IP. Development and performance evaluation.
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ELETTRONICA
Relatori
correlatore Ing. Carissimi, Marcella
relatore Prof. Fanucci, Luca
Parole chiave
  • AMBA
  • Cortex
  • FLASH
Data inizio appello
20/02/2015
Consultabilità
Completa
Riassunto
L'obiettivo di tale progetto di tesi svolto presso il gruppo TR&D CCDS di STMicroelectronics, prevede la realizzazione in linguaggio HDL Verilog di tre wrappers per tre diversi tagli di FLASH memory IPs prodotte da STMicroelectronics (NVM136KBFc M10ULP, NVM272KBFa M10ULP e NVM8Kx128Fa M10ULP, rispettivamente con word-size di 32, 64 e 128 bit), in modo da renderle integrabili in sistemi basati su architetture ARM che implementino il protocollo di comunicazione AMBA 3 AHB-Lite e stimarne le prestazioni in termini di tempi di accesso e power consumption.
Le analisi di performance e power sono state condotte allo scopo di guidare i clienti delle divisioni ST nella scelta dei vari cut di memoria disponibili, in base all’applicazione e al tipo di architettura richiesto.
A tal fine, e' stato realizzato da ST, con un approccio basato su Standard Cell, un Test Chip che implementa un SoC integrante il processore Cortex-M4 e le tre IPs con le rispettive interfacce.
Per garantire il corretto funzionamento della periferica, i wrapper oltre che fornire gli appositi segnali ai blocchi di memoria, devono garantire il rispetto delle temporizzazioni; ossia nel caso in cui il core vada a una frequenza troppo elevata tale che la Flash non riesca a completare la fase dati del generico trasferimento in un solo ciclo di clock, devono rendere possibile l'inserimento di un certo numero di wait states. Il tempo di accesso in Read-Mode delle macrocelle Flash adoperate e di circa 35ns, mentre le sequenze di Program ed Erase in generale richiedono tempi di gran lunga maggiori.
Dunque nel caso in cui la FLASH sia adoperata come SLAVE (no CODE FLASH), al fi ne di evitare l'occupazione prolungata del bus di sistema con l'inserimento di un numero elevato di wait states, si e scelto di gestire le operazioni di programmazione e cancellazione con la generazione di una interrupt (FLASH INTERRUPT) che segnali al sistema il loro completamento; mentre l'operazione di lettura viene gestita con l'introduzione, dipendentemente dalla frequenza di core, del minimo numero di wait states necessari; il numero di wait states e con gurato tramite la scrittura su un registro utente interno ai controller, di cui si discutera nell'elaborato. Per sistemi in cui la periferica viene integrata come CODE FLASH, le operazioni di Program ed Erase richiedono invece l'introduzione dei wait states per consentire la momentanea interruzione del fetch delle istruzioni e quindi una volta terminata l'operazione di modi ca in Flash, riprendere l'esecuzione del programma.
Data la necessita di tale comportamento duale, i controller prevedono un bit di con gurazione, che permette di attivare o disattivare l'inserimento di wait states sulle operazioni di modi ca del contenuto della FLASH.
Le interfacce di memoria realizzate, hanno consentito di embeddare le tre FLASH IPs in SoC basati su architetture ARM e tale soluzione è risultata particolarmente vantaggiosa per alcune divisioni ST, consentendo la realizzazione di nuovi prodotti che integrassero al loro interno una o più cut di tali memorie in modo più efficiente.
Molti dei prodotti che realizzano Sistemi Embedded integranti le suddette FLASH sono nel campo della sensoristica, per cui la divisione che maggiormente ha tratto beneficio da tale soluzione è la AMS (Analog, MEMS and Sensors). Alcuni dei prodotti realizzati da tale divisione con le IPs AMBA compliant, sono un fingerTip sensor, che integra la NVM8Kx128Fa M10ULP, un sensor HUB con le NVM136KBFc M10ULP e NVM272KBFa M10ULP IPs e infine un sensore evoluto di pressione che sfrutta un MEMS. Nel campo dell’automazione industriale, divisione IPD (Industrial and Power Discrete), è stato invece realizzato sfruttando tali IPs un Power Consumption Meter, ossia un contatore in kWh per la stima del consumo energetico.
Inoltre i wrapper sono serviti al gruppo CCDS per stimare il consumo di potenza e le prestazioni in termini di DMIPS (Dhrystone MIPS) raggiungibili dalle IPs quando integrate in tali sistemi ARM based.
Il codice HDL implementato, ha costituito per il team la base di partenza per la realizzazione di nuove IP AMBA compliant, ossia che implementassero
gi` al loro interno le interfacce di memoria AHB-Lite.
Esempi di tali IP sono la AHB NVM136KBFa M10ULP la NVM 32kBPa BCD9s.
La AHB NVM136KBFc M10ULP IP non e' altro che la NVM136KBFc M10ULP FLASH memory IP che implementa l'AHB-Lite controller; la NVM 32kBPa BCD9s IP e la IP di una memoria PCM (Phase Change Memory), nuova e promettente tecnologia di memoria non volatile, per la quale sono in fase di realizzazione un Test Vehicle per la quali ca della tecnologia e un Test Chip per la validazione della IP stessa. Infine per quanto riguarda i possibili sviluppi futuri dei controllers realizzati, e stata presa in considerazione l'implementazione di un prefetch per i tagli di memoria a 64 e 128 bit, in modo da trarre maggiore vantaggio dalla word-size in caso di alte frequenze e di conseguenza di elevati wait states.
File