Anteprima
Vedrai una selezione di 10 pagine su 196
Progettazione di Sistemi Digitali Pag. 1 Progettazione di Sistemi Digitali Pag. 2
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 6
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 11
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 16
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 21
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 26
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 31
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 36
Anteprima di 10 pagg. su 196.
Scarica il documento per vederlo tutto.
Progettazione di Sistemi Digitali Pag. 41
1 su 196
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

La forma testuale e schematica nella descrizione dei circuiti

Con lo schematico vado a descrivere la struttura del circuito, con la forma testuale invece posso andare a definire la funzione indipendentemente (comportamento) del circuito dalla struttura.

La forma testuale è più comoda quando il sistema è complesso, dove la forma schematica sarebbe troppo complessa.

Lo strumento di sintesi automatica è uno strumento che, dato il comportamento, estrae la struttura fisica, cioè prende la descrizione comportamentale fatta nel design entry e la sbriciola in un insieme di primitive opportunamente connesse. Questo strumento ci consente di semplificare (velocizzare) le operazioni di sintesi e quindi effettuare delle descrizioni esclusivamente comportamentali.

Vantaggi della forma testuale:

  1. Ci consente di fare delle verifiche ad alto livello (simulo solo l'operazione, cioè il comportamento) che ci comporta di poter fare delle verifiche precoci ed eventualmente cambiare le

scelte fatte all'inizio della progettazione (senza questo strumento magari me ne sarei accorto nelle fasi successive e avrei perso molto tempo).

Inoltre, con questo strumento posso simulare sistemi più complessi e poi

si ha anche l'indipendenza dalla tecnologia (che andiamo dopo a definire)

Svantaggi:

potrei però avere delle descrizioni che non sono sintetizzabili,

inoltre con la forma testuale perdo il controllo sullastruttura del progetto, cioè perdo il controllo della realizzazione fisica (se ad es lascio il compito di realizzare la struttura al sintetizzatore, questo potrebbe realizzare una soluzione che non rispetta le specifiche che (ad esempio perché è troppo lento))

DESIGN PROCESSING: si utilizzano degli strumenti di CAD di sintesi che ci permettono di partizionare sempre di più fino ad arrivare alle primitive -> alla fine di questa fase abbiamo un insieme di primitive interconnesse tra di loro

Questa fase ci dice anche che dobbiamo tenere di conto delle scelte di tecnologie e quindi le primitive che abbiamo a disposizione (che possono essere diverse a seconda della tecnologia utilizzata).

Cosa fa il design processing? Si compie la sintesi di tutte le descrizioni funzionali in strutture e poi fa una valutazione di come sono queste strutture in termini di primitive -> no ad arrivare alla del circuito (la netlist descrive sia tutti i nodi che le interconnessioni -> dalla netlist ho tutte le info necessarie per trasferire poi il circuito su silicio).

SILICON MAPPING: è la fase di mappatura su silicio, dove le primitive definite si spostano direttamente su pezzetti di silicio reali -> alla fine di questo processo abbiamo il design completo (il design è stato trasferito su una certa struttura tecnologica e ad esempio possiamo avere la board con i componenti discreti, il layout del circuito integrato etc). Questa fase parte dalla netlist.

e poi si piazzano ivari dispositivi sulla board e si e ettuano le interconnessioni —> questa fase dipende fortemente dalla tecnologia utilizzata (anche laparte nale della sintesi dipende dalla tecnologia)• Il mapping fa le operazioni di PLACEMENT(piazzamento) e ROUTING(interconnessioni) (es KiCAD)• Per i circuiti programmabili, essendo dei circuiti integrati già preparati, può accadere che sia necessario utilizzare un certo numerodei componenti (es ip op) maggiore di quelli presenti sul chip —> si deve quindi fare un’operazione di partizionamento (es utilizzodevice partitioningtutti i ip- op di un chip e alcuni ip- op di un altro chip), si fa quindi ilDESIGN VERIFICATION: è la fase di veri ca nale che l’obbiettivo raggiunto sia corretto. In realtà per ogni passo di progetto devoveri care che siano sempre veri cate le speci che —> si fa quindi il design veri cation a tutti i livelli del progetto (guardareessere accurato e tener conto di tutti i fenomeni in gioco nel circuito elettronico. Inoltre, è importante stimolare correttamente gli ingressi per ottenere una simulazione completa del circuito. Per fare ciò, è possibile utilizzare diversi strumenti di verifica, come i simulatori. Un simulatore è un software che permette di eseguire la simulazione di un circuito elettronico utilizzando un modello matematico. Il modello può essere costituito da un insieme di equazioni che descrivono il comportamento del circuito. Durante la simulazione, è possibile aggiungere degli ingressi al modello e osservare la risposta dell'uscita. Tuttavia, è importante tenere presente che la risposta della simulazione dipende dal modello utilizzato e dalla sequenza degli ingressi stimolati. Pertanto, è necessario assicurarsi di utilizzare un modello accurato e di stimolare correttamente tutti gli ingressi per ottenere una simulazione completa e affidabile del circuito. In conclusione, la simulazione di un circuito elettronico è un processo che richiede l'utilizzo di modelli accurati e la corretta stimolazione degli ingressi. I simulatori sono strumenti principali utilizzati per eseguire questa operazione e verificare il corretto funzionamento del circuito.essere a dabile, gli IN devono essere validi, cioè tali che stimolano il circuito in tutte le sue caratteristiche —>in questo modo posso validare o no il circuito• Le grandezze in gioco sono tensioni e correnti —> se voglio fare una simulazione accurata devo utilizzare un modello elettricocircuitale —> la complessità con questo modello è elevata e i tempi di simulazione diventano troppo lunghi —> devo scalare ilmodello da un modello elettrico ad un modello logicodelnodi circuitosu che sonoAValige obbligato afaremodelloapproxlogico seeRappresento il circuito elettrico dell’invertitore con la suafa struttura logica (NOT) senza incorrere in errori signi cativiti ha semplificazione_poi grandesivaffg.vn una• Si fa una rappresentazione logica anche per l’uscita (come per la V (t))ASe faccio questo passaggio da ambiente elettrico a ambiente logico allora i modelli in gioco non sono più quelli dei

transistori e quindinon abbiamo più a che fare con grandezze continue ma sono livelli logici —> si sempli ca la complessità della simulazione•

Possiamo individuare un ritardo di propagazione in salita e in discesa: t e t —> sono i parametri di timing che caratterizzano laPLH PHLprimitiva

Si fa quindi una simulazione logica: le grandezze sono logiche, che tipo di simulazioni logiche ci sono?

Simulazione funzionale:• si vanno a stimolare tutti gli elementi (primitive, blocchi etc) con degli ingressi e si va a vedere comerispondono le uscite, trascurando ogni indicazione relativa al timing della struttura —> si trascura il timing perché né non siconoscono la struttura e la tecnologia utilizzata non possiamo sapere nulla sul timing. Si fa questa simulazione (1) per capire se ilcomportamento logico (funzionale) dell’oggetto è corretto oppure no a prescindere dal timing e (2) se riesce poi a validare

scelteprogettualiNon avere info sul timing rappresenta uno svantaggio -> in realtà infatti si fa una successione di simulazioni, si parte con la simulazione funzionale per scegliere l'architettura e dopo la mappatura su silicio si fa una simulazione timingSimulazione timing: si ottengono delle informazioni sul timing delle primitive -> si evidenziano le evoluzioni temporali dei fronti logici e si mettono eventualmente in evidenza delle criticità timing che non si riescono a vedere con la simulazione funzionaleImmagino di avere una macchina a stati finiti, cioè un circuito sequenziale sincrono (ricordo macchina di moore -> le OUT dipendono solo dagli stati) La simulazione funzionale ci dà l'andamento delle uscite in corrispondenza del fronte del ck (trascurando il timing) -> la simulazione timing ci consente di vedere che le uscite variano con un certo ritardo rispetto al fronte di clock CK Tipicamente neile condizioni di timing. In generale, si cercano degli ingressi che permettano di testare tutti i possibili ritardi di propagazione e di setup/hold. Simulazione a ritardo minimo: si utilizzano degli ingressi che generano il ritardo minimo possibile tra i segnali. In questo modo si possono individuare eventuali problemi di setup, cioè quando il segnale di ingresso cambia troppo velocemente rispetto al tempo di stabilizzazione del circuito. Simulazione a ritardo massimo: si utilizzano degli ingressi che generano il ritardo massimo possibile tra i segnali. In questo modo si possono individuare eventuali problemi di hold, cioè quando il segnale di ingresso rimane troppo a lungo nel suo stato precedente prima di commutare. Durante le simulazioni di timing, si considera anche il fenomeno dell'alea, cioè quando il segnale commuta momentaneamente ad un valore per poi tornare allo stato di partenza. Questo fenomeno può causare problemi, ad esempio quando il segnale va in ingresso ad un contatore. È importante sottolineare che gli errori di timing non emergono durante le simulazioni funzionali, quindi è necessario effettuare anche le simulazioni di timing per garantire il corretto funzionamento del circuito.

le richieste• Si dovrebbero provare tutte le combinazioni logiche degli IN (collaudo esaustivo) ma se questi IN sono tanti (1024) diventa una simulazione troppo lunga (oltre a tutte le combinazioni degli ingressi devo considerare tutte le combinazioni degli stati) —> questa caratteristica (negativa) ci spinge a sfruttare il partizionamento gerarchico che ci sempli ca molto le simulazioni

Per quanto riguarda il modello ci diamo di quello che ci da il costruttore dei dispositivi —> il costruttore ci fornisce i modelli in condizioni di timing minimo, tipico e massimo (anche il costruttore di componenti programmabili fornisce un modello timing)

Strumento CAD: ci consente di fare lo schematico, ci consente di utilizzare un linguaggio (VHDL/Verilog) e ci consente di e ettuare il progetto con una struttura gerarchica; ci consente anche di avere dei blocchi sia schematici che testuali. Per quanto riguarda lo strumento di veri ca invece si utilizza modelsim

Introduzione

VERILOG• Oltre che ad una descrizione del circuito del VHDL, quando abbiamo una descrizione comportamentale e abbiamo anche lostrumento di sintesi logica allora è possibile passare da un linguaggio descrittivo (VHDL) ad un linguaggio di progetto (VERILOG).Inoltre, si possono anche compiere delle operazioni di simulazione con VERILOG•

Obiettivi: descrizioni sintetizzabili e descrizioni delle funzionalità del sistema digitale nelle quali sia noi sia altri siamo in grado dimettere le mani sul programma1/10HDL (Hardware Description Languages) —> (Hardware Design Languages)VERILOG : linguaggio di descrizione dell’hardware (inizialmente nato per simulare il circuito) —> il cuore del linguaggio è nella suasintassi e nella scrittura di un leModule le• L’elemento base è il <module> —> descrive un certo oggetto della rete, questo module si traduce in un con estensione “.v”Module st'Iv leIl consiste in una

parte di dichiarazioni nella quale vengono esplici

Dettagli
A.A. 2021-2022
196 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher simonehouriya31 di informazioni apprese con la frequenza delle lezioni di Progettazione di Sistemi digitali e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Scienze matematiche Prof.