(b) LOGIC SYNTHESIS DESIGN FLOW



Documenti analoghi
Architetture dei Dispositivi Programmabili Avanzati Altera

Architetture dei Dispositivi Programmabili Avanzati Altera

Progettazione di circuiti integrati

Progettazione di circuiti integrati

Elettronica dei Sistemi Digitali L-A

Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali

interfacciamento statico e dinamico analisi di interconnessioni, driver e receiver

Metodologie di progetto hardware All. Informatici e telecomunicazioni (A-ZZZ)

Metodologie di progetto hardware All. Informatici e telecomunicazioni (A-ZZZ) Fabrizio Ferrandi a.a

IL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi

Elettronica per le telecomunicazioni 21/05/2004

Prima esercitazione. a.a

Computer Aided Design. Matteo Montani

Flusso di Progetto Mixed Signal in ambiente CADENCE. Approccio Analog Centric. Corso di Progettazione Mixed Signal 19/12/2013 Prof.

Tecniche Analogiche e tecniche Digitali

Semicustom Design Flow VHDL HDL. VHDL: Applicazioni. Stili di Descrizione Hardware. Elettronica dei Sistemi Digitali L-A

7. I linguaggi descrittivi HDL.

Basi di Dati Relazionali

Corso di Laurea in Informatica Basi di Dati a.a

preparazione pane frattau per 4 persone

<Descrivere Schematicamente la funzionalità implementate. Assegnare un codice univoco a ogni funzionalità e fornire una descrizione>

Cos è il VHDL. Il VHDL è un linguaggio standard per la descrizione dell hardware

METODOLOGIE PROGETTUALI CMOS

Ingegneria dell Informazione D SISTEMI DI ELABORAZIONE DIGITALE DEI SEGNALI

Reti logiche A All. Informatici (M-Z)

Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a

Introduzione a HW/SW codesign

Istituto di Istruzione Superiorevia Salvini 24 Roma Liceo M. Azzarita Liceo delle scienze applicate Materia:Informatica Programmazione a.s.

Sommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Studio degli algoritmi

INTRODUZIONE ALLE LOGICHE PROGRAMMABILI

PIANO DI PROGRAMMAZIONE DIDATTICA

Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati

F SISTEMI DI ELABORAZIONE DIGITALE DEI SEGNALI

Ingegneria dell Informazione F SISTEMI DI ELABORAZIONE DIGITALE DEI SEGNALI

Corso di Laurea in Informatica Basi di Dati a.a

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 6

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Ciclo di vita di un sistema informativo

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Xilinx ISE Tutorial File -> New Project...

CODESYS Test Manager: Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi

VHDL come strumento di progetto di circuiti digitali. Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA

Implementazione di DFA in C

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Flusso di progetto circuiti digitali

PECUP SECONDO BIENNIO terzo anno Meccanica, Meccatronica ed Energia - Articolazione: Meccanica e Meccatronica

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

MISSION. Consulenza, Competenza ed Esperienza sono i valori che CADLOG mette a vostra disposizione.

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Corso di Circuiti Integrati Anno Accademico 2016/2017

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

Esercitazione di Elettronica Per la Telematica. Trasmettitore BPSK

Esercitazione di Elettronica Per la Telematica

Introduzione alla programmazione

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

IC Test & Design for Testability

Regole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA

Macchine combinatorie: progettazione. Macchine combinatorie

Lezione E15. Sistemi embedded e real-time

Dispositivi logici programmabili. Marco Cesati. Schema della lezione. Logiche programmabili. Dispositivi logici programmabili.

SystemC: un linguaggio per la modellazione e la simulazione dell hardware. Slide -1 -

Introduzione al VHDL Lezione 1

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Metodologie di progetto HW Livelli d astrazione

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

Indice. Prefazione. sommario.pdf 1 05/12/

ELETTRONICA dei SISTEMI DIGITALI Universita di Bologna, sede di Cesena

Algoritmi e soluzione di problemi

Analisi, Descrizione e Implementazione di un Architettura FILTRO FIR a Coefficienti Variabili, di Alessandro Paghi e Lorenzo De Marinis.

LA METAFORA DELL UFFICIO

Progettazione Digitale: Modellazione dei ritardi e mapping tecnologico

Esercitazioni di Fondamenti Informatica - Modulo A 1

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

IIS Via Silvestri 301 ITIS Volta Programma svolto di Elettrotecnica ed Elettronica A.S. 2016/17 Classe 3 B

Elettronica e dispositivi Programmabili. Docenti: Stefano Marsi, Sergio Carrato Giuseppe Cautero, Paolo Sirotti

UNITA CAPITALIZZABILI PER LA FIGURA PROFESSIONALE: TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

Introduzione al linguaggio VHDL

LABORATORIO DI INFORMATICA

Calcolo numerico e programmazione Programmazione

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Soluzione Mappa di karnaugh BC Soluzione Mappa di karnaugh BC

Il calcolatore. Architettura di un calcolatore (Hardware)

Università degli studi di Genova

ALLEGATO B FORMULARIO PER LA PRESENTAZIONE DELLE PROPOSTE FORMATIVE PER IL CATALOGO REGIONALE CIRS IDENTIFICAZIONE DELL ORGANISMO PROPONENTE

HARDWARE. Hardware. Vista di insieme

Integrazione tra simulazione numerica e dati reali in procedure automatiche di collaudo

Dispositivi per il controllo

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO

Sistemi di Elaborazione delle Informazioni

Linguaggi di Programmazione

Parte 2.c. Elaborazione: Hardware dedicato

PROGRAMMAZIONE DI TECNOLOGIE INFORMATICHE PER LA CLASSE: I A CHI ANNO SCOLASTICO 2014/2015

La stima dei costi nei dispositivi elettronici. Elettronica L Dispense del corso

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate

Transcript:

1 (b) LOGIC SYNTHESIS DESIGN FLOW ASIC HDL DIGITAL CIRCUITS DESIGN FLOW FPGA HDL DESIGN FLOW SINTESI DI TENTATIVO E SIMULAZIONE POST SINTESI DEL PROCESSORE MU0 OTTIMIZZAZIONE DELLA SINTESI DEL PROCESSORE MU0

2 ASIC HDL DIGITAL CIRCUITS DESIGN FLOW

ASIC HDL DIGITAL CIRCUITS DESIGN FLOW 3 IL FLUSSO (SEMPLIFICATO) DI PROGETTAZIONE CHE UTILIZZEREMO IN QUESTO CORSO SI CONCENTRA SULLE FASI DI FRONT END DELLO SVILUPPO. IL RISULTATO FINALE DELLA FASE DI FRONT END E' LA DESCRIZIONE DEL CIRCUITO IN TERMINI DI NETLIST DI CELLE DI LIBRERIA I TOOL CHE UTILIZZEREMO SONO MODELSIM (PER LA SIMULAZIONE VERILOG) E LEONARDO (PER LA SINTESI LOGICA) FUNCTIONAL SPECIFICATION RTL CODING FUNCTIONAL VERIFICATION LOGIC SYNTHESIS POST-SYNTHESIS VERIFICATION SYNTHESIS OPTIMIZATION FRONT-END LAYOUT (PLACE&ROUTE) BACK-ANNOTATION ETC. BACK-END CHIP FABRICATION

ASIC HDL DIGITAL CIRCUITS DESIGN FLOW 4 SPECIFICATION Il circuito digitale deve innanzitutto essere specificato in termini di porte di I/O e di funzione di trasferimento. La specifica di partenza è espressa in maniera non formale (sotto forma di descrizione testuale, flowchart o altro) RTL CODING La specifica di partenza viene specificata in maniera formale utilizzando un linguaggio testuale di descrizione dell'hardware (HDL). In questo corso utilizziamo il Verilog. La specifica deve essere di tipo RTL sintetizzabile (vedi lezioni Prof. Raffo) FUNCTIONAL VERIFICATION La funzionalità del modello HDL viene simulata al fine di verificarne la corrispendenza alle specifiche funzionali richieste (vedi lezioni Prof. Raffo). La verifica viene eseguita con l'ausilio di un tool di simulazione e di appositi modelli HDL di supporto (testbench) in grado di stimolare e verificare la funzionalità del modello in fase di verifica (Device Under Test - DUT). In questo corso utilizziamo il tool di simulazione Modelsim. Il risultato finale di queste prime 3 fasi di sviluppo è il modello Verilog RTL sintetizzabile del circuito, corredato dell'opportuno testbench. FUNCTIONAL SPECIFICATION RTL CODING FUNCTIONAL VERIFICATION LOGIC SYNTHESIS POST-SYNTHESIS VERIFICATION SYNTHESIS OPTIMIZATION LAYOUT (PLACE&ROUTE) BACK-ANNOTATION ETC. CHIP FABRICATION FRONT-END BACK-END

ASIC HDL DIGITAL CIRCUITS DESIGN FLOW 5 LOGIC SINTHESYS (SINTESI DI TENTATIVO) Il modello RTL del circuito viene trasformato in un modello espresso in termini di interconnessione di celle di libreria attraverso il processo semiautomatico definito sintesi logica. Tale processo viene svolto tramite un tool di sintesi corredato della libreria di celle della tecnologia sulla quale verrà implementato il chip (vedi lezioni Prof. Raffo). In questo corso utilizziamo il tool di sintesi Leonardo Spectrum. La prima sintesi di tentativo ha lo scopo di verificare l'effettiva sintetizzabilità del modello RTL codificato. Il risultato finale di questa fase è il modello Verilog in termini di interconnessione di celle di libreria del circuito digitale da sviluppare. POST SINTHESYS VERIFICATION La funzionalità del modello risultato della fase precedente viene verificata risimulandolo utilizzando lo stesso testbench utilizzato per la fase di verifica funzionale. Al fine di rendere possibile l'eventuale fase di debug è indispensabile che: il modello RTL di partenza sia fortemente gerarchizzato la sintesi sia eseguita preservando la gerarchia solo utilizzando questi 2 accorgimenti è possibile riconoscere all'interno del modello sviluppato i segnali interni originali da monitorare. FUNCTIONAL SPECIFICATION RTL CODING FUNCTIONAL VERIFICATION LOGIC SYNTHESIS POST-SYNTHESIS VERIFICATION SYNTHESIS OPTIMIZATION LAYOUT (PLACE&ROUTE) BACK-ANNOTATION ETC. CHIP FABRICATION FRONT-END BACK-END

ASIC HDL DIGITAL CIRCUITS DESIGN FLOW LOGIC SINTHESYS (SINTHESYS OPTIMIZATION) Questa fase ha un duplice scopo: Esplorare le figure di merito principali (area, massima frequenza di funzionamento, dissipazione energetica, etc,) del circuito digitale in fase di sviluppo. Al variare dei vincoli di sintesi viene esplorate il trade-off costi-prestazioni del modello. Risultati finali di questa fase sono una serie di grafici quali ad esempio area al variare della massima freq. di funzionamento, dissipazione di potenza al variare dell'area, ecc. Individuare le parti critiche del circuito in maniera da identificare eventuali porzioni di codice da modificare in modo da migliorare le prestazioni (in termini di area, frequenza, power, ecc.) della implementazione finale) In questo corso studieremo l'ottimizzazione di alcuni modelli HDL di processori. FUNCTIONAL SPECIFICATION RTL CODING FUNCTIONAL VERIFICATION LOGIC SYNTHESIS POST-SYNTHESIS VERIFICATION SYNTHESIS OPTIMIZATION 6 FRONT-END LAYOUT (PLACE&ROUTE) BACK-ANNOTATION ETC. BACK-END CHIP FABRICATION

7 FPGA HDL DESIGN FLOW

FPGA HDL DIGITAL CIRCUITS DESIGN FLOW 8 NEL CASO DI CIRCUITI LOGICI PROGRAMMABILI IL FLUSSO DI PROGETTAZIONE SI DIFFERENZIA COMPLETAMNTE DA QUELLO ASIC PER QUANTO RIGUARDA LE FASI DI BACK- END E IN PARTE ANCHE PER QUANTO RIGUARDA LE FASI DI FRONT-END (VEDI LEZIONI PROF. RAFFO)

9 SINTESI DI TENTATIVO E SIMULAZIONE POST SINTESI DEL PROCESSORE MU0

SINTESI DI TENTATIVO LA SINTESI DI TENTATIVO HA LO SCOPO VERIFICARE L'EFFETTIVA SINTETIZZABILITA' DELLA CODIFICA RTL (MODELLO RTL) DEL CIRCUITO. IL MODELLO RTL VIENE DATO IN INPUT AL TOOL DI SINTESI LOGICA (LEONARDO SPECTRUM NEL NOSTRO CASO IL PROCESSO DI SINTESI NECESSITA INOLTRE DI UNA LIBRERIA DI CELLE CHE VA DATA ANCH'ESSA IN INPUT AL TOOL MODELLO RTL 10 LOGIC SYNTHESIS LIBRERIA CELLE MODELLO GATE-LEVEL IN PRIMA ISTANZA LA SINTESI DI TENTATIVO INDIVIDUA 2 TIPI DI PROBLEMI: LA PRESENZA DI COSTRUTTI NON SINTETIZZABILI (ERRORS), LEGATI AL DEBUG O AD ERRORI VERI E PROPRI DI CODIFICA LA PRESENZA DI COSTRUTTI CHE POSSONO POTENZIALMENTE DARE LUOGO A MALFUNZIONAMENTI O DISCREPANZE FRA IL COMPORTAMENTO DEL MODELLO PRE- SINTESI DAL MODELLO GATE-LEVEL POST-SINTESI (IL MODELLO OTTENUTO DAL PROCESSO DI SINTESI) IN SECONDA ISTANZA LA SINTESI DI TENTATIVO CONSENTE LA INDIVIDUAZIONE DI EVENTUALI MALFUNZIONAMENTI DOVUTI A CODIFICA RTL NON CORRETTA (P.E. CASE INCOMPLETI CHE PORTANO ALL'INFERENZA DI LATCH). IL MODELLO POST SINTESI GERARCHICO FORNITO IN OUTPUT PUO' INFATTI ESSERE SIMULATO CON LA POSSIBILITA' DI INDIVIDUARE EVENTUALI BUGS.

SIMULAZIONE POST SINTESI 11 LA SIMULAZIONE POST SINTESI HA LO SCOPO DI VERIFICARE LA CORRISPONDENZA FUNZIONALE FRA IL MODELLO PRE-SINTESI (RTL) ED IL MODELLO POST-SINTESI (GATE-LEVEL) ALFINE DI ESEGUIRE TALE VERIFICA SI ESEGUE LA SIMULAZIONE DEL MODELLO POST-SINTESI UTILIZZANDO LO STESSO TETBENCH UTILIZZATO PER LA VERIFICA FUNZIONALE DEL MODELLO PRE-SINTESI. I PASSI DA SEGUIRE PER LA SIMULAZIONE POST SINTESI SONO I SEGUENTI COMPILARE LA LIBRERIA DI CELLE ALL'INTERNO DEL TOOL DI SIMULAZIONE IN MODO DA POTERLE REFERENZIARE AL MOMENTO DEL CARICAMENTO DEL MODELLO DA SIMULARE. TALE STEP PUO' ESSERE ESEGUITO PER OGNI DIVERSO PROGETTO (POCO INTELLIGENTE) OPPURE UNA VOLTA PER TUTTE USANDO IL COSTRUTTO USELIB DEL VERILOG (MOLTO PIU' INTELLIGENTE) MODIFICARE EVENTUALMENTE IL TESTBENCH IN MODO DA ELIMINARE RIFERIMENTI A VARIABILI INTERNE ALLA GERERCHIA CHE NON SAREBBERO PIU' REFERENZIABILI ESEGUIRE LA SIMULAZIONE IDENTIFICARE LE PARTI DEL CIRCUITO NELLE CHE MANIFESTANO MALFUNZIONAMENTI E RISALIRE ALLE PORZIONI DI CODICE DEL MODELLO RTL DA MODIFICARE (AIAH!)

12 OTTIMIZZAZIONE DELLA SINTESI DEL PROCESSORE MU0

OTTIMIZZAZIONE DELLA SINTESI 13 UNA VOLTA STABILIZZATO IL CODICE DEL MODELLO RTL DAL PUNTO DI VISTA DELLA CORRETTEZZA DELLA CODIFICA E' OPPORTUNO ESEGUIRE UNO STUDIO RELATIVA ALLA EFFICIENZA DELLA STESSA ESEGUENDO VARI TENTATIVI DI SINTESI (AL VARIARE DELLE CONSTRAINTS) E' POSSIBILE INDIVIDUARE LE PARTI CRITICHE DEL CIRCUITO IN TERMINI DI FREQUENZA E DI AREA, IN MODO DA IDENTIFICARE EVENTUALI PORZIONI DI CODICE DA OTTIMIZZARE DEFINIRE DEI GRAFICI AREA-FREQUENZA-POWER CHE DIANO UN STIMA ESAUSTIVA DELLE PRESTAZIONI DEL CIRCUITO MODELLO RTL CONSTRAINTS LOGIC SYNTHESIS LIBRERIA CELLE REPORTS (AREA, FREQ., POWER, ETC.)