• Non ci sono risultati.

Fino ad ora sono stati descritti tutti quegli aspetti riguardanti la parte digitale del progetto. Come si è potuto vedere però, il funzionamento del dispositivo è fortemente legato al lato analogico: l'accensione dei MOS esterni, la regolazione della corrente, le macchine a stati nonché il sistema di diagnostica dipendono da componenti come predriver, charge pump, comparatori e DAC. La progettazione e la realizzazione di questi componenti esula dallo scopo di questo lavoro, ma è utile fare un breve elenco di quello che si può trovare all'interno del PILD.

Charge Pump La charge pump è un circuito elettronico che usa dei condensatori per immagazzinare energia in maniera da ottenere delle sorgenti con tensioni più elevate di quelle disponibili dall'alimentazione. Nel PILD deve essere usata per pilotare il gate del MOS di high side. La Vcp può raggiungere un massimo di 70 V e in generale vale VBATT+14 V (con batteria al valore operativo massimo di 36V la CP invia in uscita una tensione di 50V). Si dichiara uno startup time di 5 ms.

DAC Il DAC presenta una risoluzione di 8 bit con una positive reference di 960 mV. Un LSB vale 3,75 mV. INL e DNL sono pari a 1 LSB e il settling time è pari a 1 us.

Comparatori Sono diversi i comparatori impiegati nel dispositivo e ciascuno di essi viene replicato per ogni canale. Il SENSE_COMP il primo che abbiamo visto, viene utilizzato per la regolazione della corrente e confronta la tensione ai capi di Rsense con una soglia di riferimento dettata dalle impostazioni sugli SFR.

Gli altri comparatori implicati nelle funzionalità del PILD sono quelli riguardanti la diagnostica. UC_COMP e OC_COMP confrontano di nuovo la tensione ai capi di Rsense con delle soglie ssate (60 mV e 1,1V rispettivamente). SH_COMP

monitora la tensione sul source dell'high side e la confronta con soglie che spaziano da 1,25V a 15V a seconda del codice sul registro corrispondente. Sul drain del low side sono posti invece due comparatori: DL1 e DL2. Dieriscono solo per il range di soglie impostabili, per il primo si va dai 1,25V ai 15V mentre per il secondo dai 0,25 V ai 2,75 V. A questi si aancano i supply monitor per la segnalazione dei fault di sistema.

5 Test e simulazioni

Conclusa la prima parte del lavoro, cioè quella che riguarda la parte di design e di scrittura in linguaggio VHDL del progetto, si deve procedere ad una fase accurata di test e simulazione di quanto realizzato. Lo scopo adesso è quello di implementare un ambiente di test che permetta la verica di tutti gli aspetti attinenti al dispositivo progettato e soprattutto la valutazione della funzionalità di esso.

In questo capitolo vengono descritti l'ambiente di lavoro e le tecniche utilizzate nella realizzazione dei testbench, facendo particolare attenzione alla struttura di questi ultimi e alla realizzazione dei modelli analogici per le simulazioni miste. In quest'ottica si fa un accenno al linguaggio VHDL-AMS, descrivendo brevemente i modelli utilizzati per simulare la circuiteria esterna. Inne viene mostrata una panoramica sui test fatti per le varie modalità operative del PILD e per la gestione della diagnostica.

5.1 Ambiente e usso di lavoro

L'intero lavoro è stato svolto in ambiente UNIX, utilizzando un editor di testo per la scrittura del codice e degli script (in questo caso NEdit, ma un qualsiasi editor può andare bene) e il tool kit di Cadence CAD nella versione 2012 per la compilazione, la simulazione e la visualizzazione delle forme d'onda. La suite di riferimento è Incisive (NC-Sim) con i seguenti tool:

ncvhdl compilatore per VHDL 93

ncelab linker e elaboratore unicato per VHDL, Verilog e SystemC. Genera un le oggetto della simulazione denito snapshot.

ncsim simulatore vero e proprio che sfrutta la snapshot generata precedentemente. Sebbene si possa anche utilizzare in command-line mode si è preferito lavorare con la versione a interfaccia graca.

spectre analog solver, richiamato per le analisi e simulazioni analog mixed signal. Il richiamo ai tool è fatto in opportuni script .csh (denominati compile.csh), in cui si procede secondo le seguenti fasi:

1. viene ripulita la cartella di lavoro ..lib/work

2. vengono compilati tutti i moduli VHDL no al TOP del progetto mediante comando ncvhdl

3. viene selezionato e compilato il testbench chiamato da linea di comando (mediante il passaggio di un parametro)

4. viene elaborata la snapshot mediante comando ncelab

5. viene fatto partire ncsim con o senza interfaccia graca e con o senza simu- latore analogico, a seconda dei parametri passati da linea di comando. In fase di chiamata da riga di comando, assieme al percorso e al le csh, vengono passati alcuni parametri:

1. il le run.tcl: script che contiene comandi in TCL che servono alla gestione della simulazione (ad esempio il comando run usato per far partire la sim- ulazione, o comandi per il force dei segnali); gli stessi comandi potrebbero essere forniti a ncsim dalla console del visualizzatore graco.

2. la selezione del testbench: l'utente può selezionare uno tra diversi TB impo- stati per la simulazione semplicemente tramite un comando if sul parametro passato in ingresso.

3. selezione GUI e AMS: l'utente può scegliere di far partire il simulatore con visualizzatore graco tramite il parametro -gui e può accompagnarlo col simulatore analogico tramite il parametro -AMS inviato al comando ncsim.

Documenti correlati