Prof Ferrari Claudio In una stazione di lavaggio

  • Slides: 52
Download presentation
Prof. Ferrari Claudio

Prof. Ferrari Claudio

In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante

In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello (L), la pressione (P) e la temperatura (T). Ciascun sensore presenta in uscita un segnale a livello alto quando la grandezza fisica che rileva sorpassa una soglia prefissata. Si vuole progettare una rete in grado di produrre un segnale a livello alto (Y) quando si verifica una qualsiasi delle seguenti condizioni anomale: • temperatura oltre la soglia con livello sotto la soglia; • pressione, temperatura e livello contemporaneamente oltre la soglia. Prof. Ferrari Claudio Truth Table LPT Y 000 0 001 1 010 1 011 1 100 0 101 0 110 0 111 1

1 2 3 Prof. Ferrari Claudio 1 1 1 U 2 U 3 74

1 2 3 Prof. Ferrari Claudio 1 1 1 U 2 U 3 74 LS 04 74 LS 08 74 LS 32

Nei primi anni ’ 70 fecero la comparsa sul mercato dei dispositivi elettronici digitali

Nei primi anni ’ 70 fecero la comparsa sul mercato dei dispositivi elettronici digitali che permettevano la realizzazione di funzioni combinatorie e/o sequenziali nello stesso circuito integrato. Vantaggi: riprogrammabilità e non volatilità riduzione dell'area occupata sullo stampato più affidabilità rispetto alle logiche tradizionali ridotto time-to-market possibilità di rimpiazzare le antiquate logiche tradizionali TTL/CMOS ottimizzazione nella gestione dei magazzini componenti Svantaggi: apprendimento di un linguaggio di progettazione necessità di disporre di potenti elaboratori elettronici costi (inizialmente) più elevati rispetto a soluzioni tradizionali Prof. Ferrari Claudio

Alcune definizioni. . . FPD/PLD (Field Programmable Device/Programmable Logic Device): qualsiasi circuito integrato configurabile

Alcune definizioni. . . FPD/PLD (Field Programmable Device/Programmable Logic Device): qualsiasi circuito integrato configurabile dall’utente per implementare hardware digitale PLA (Programmable Logic Array): il più semplice PLD formato da matrici di porte AND e OR le cui connessioni sono programmabili, al fine di ottenere funzioni logiche rappresentabili come somma di prodotti PAL (Programmable Array Logic): dispositivi con matrice AND programmabile e matrice OR fissa SPLD (Simple PLD): qualsiasi semplice PLD con relative variazioni (ad esempio aggiunta di flip-flop) Prof. Ferrari Claudio

Ancora definizioni. . . CPLD (Complex PLD): tanti SPLD interconnessi mediante una matrice FPGA

Ancora definizioni. . . CPLD (Complex PLD): tanti SPLD interconnessi mediante una matrice FPGA (Field Programmable Gate Array): FPD con struttura molto versatile caratterizzati da un elevato livello di integrazione Prof. Ferrari Claudio

Il mercato dei produttori di PLD Prof. Ferrari Claudio (2008)

Il mercato dei produttori di PLD Prof. Ferrari Claudio (2008)

Architetture SPLD <= PLA (Programmable Logic Array) PAL (Programmable Array Logic) => Prof. Ferrari

Architetture SPLD <= PLA (Programmable Logic Array) PAL (Programmable Array Logic) => Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

PAL 16 L 8 Prof. Ferrari Claudio PAL 16 R 8

PAL 16 L 8 Prof. Ferrari Claudio PAL 16 R 8

Cos’è un CPLD Un CPLD è un dispositivo contenente più blocchi di tipo SPLD

Cos’è un CPLD Un CPLD è un dispositivo contenente più blocchi di tipo SPLD riuniti in un singolo chip Prof. Ferrari Claudio

Caratteristiche CPLD Principali produttori: Altera, Xilinx Un CPLD può arrivare a contenere qualche decina

Caratteristiche CPLD Principali produttori: Altera, Xilinx Un CPLD può arrivare a contenere qualche decina di SPLD Applicazioni tipiche CPLD: • quando è richiesta alta velocità (ritardi inferiori a 10 nsec) e predicibilità • quando il progetto si presta bene ad una implementazione “somma-diprodotti” • controllori: grafici, LAN, UART, per CACHE Come regola generale i CPLD si utilizzano nelle applicazioni in cui è richiesto un uso esteso di porte AND/OR e non occorrono numerosi flip-flop (presenti in minima quantità) Prof. Ferrari Claudio

Diagramma a blocchi del dispositivo Xilinx XC 9500 Prof. Ferrari Claudio

Diagramma a blocchi del dispositivo Xilinx XC 9500 Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

La programmazione dei PLD Applicativo grafico schematico Programmazione di tipo HDL (Hardware Description Language)

La programmazione dei PLD Applicativo grafico schematico Programmazione di tipo HDL (Hardware Description Language) • • ABEL AHDL VHDL (IEEE 1076 -2008) Verilog (IEEE 1364 -2001) - System. Verilog 1800 -2005 Programmazione strutturata • System. C Prof. Ferrari Claudio Programmazione visuale • Lab. VIEW • Matlab • Simulink

VHDL: vantaggi Potenza e flessibilità VHDL permette di descrivere circuiti complessi con relativa semplicità;

VHDL: vantaggi Potenza e flessibilità VHDL permette di descrivere circuiti complessi con relativa semplicità; consente inoltre di descrivere gli stimoli utilizzati nella simulazione del progetto Portabilità Il VHDL è un linguaggio standard e quindi consente di esportare il codice da un sintetizzatore (e/o un simulatore) all’altro Progettazione indipendente dal dispositivo La portabilità consente di valutare le prestazioni di un progetto su componenti diversi. Prof. Ferrari Claudio

VHDL: svantaggi Differenti qualità di sintesi L’efficacia della sintesi può variare a seconda delle

VHDL: svantaggi Differenti qualità di sintesi L’efficacia della sintesi può variare a seconda delle impostazioni fissate per il processo di sintetizzazione Difficoltà di controllo dell’implementazione L’utilizzo di costrutti astratti (clausole if, case, when. . ) non consente di controllare l’implementazione di un progetto a livello di gate Possibile inefficienza delle implementazioni Essendo il risultato dell’implementazione dipendente dalla strategia scelta, occorre conoscere le peculiarità delle tante strategie di norma disponibili Prof. Ferrari Claudio

Entity, architecture e design Prof. Ferrari Claudio

Entity, architecture e design Prof. Ferrari Claudio

Descrizione strutturale Prof. Ferrari Claudio

Descrizione strutturale Prof. Ferrari Claudio

Descrizione dataflow Prof. Ferrari Claudio

Descrizione dataflow Prof. Ferrari Claudio

Descrizione comportamentale Prof. Ferrari Claudio

Descrizione comportamentale Prof. Ferrari Claudio

Descrizione strutturale Descrizione dataflow Descrizione comportamentale il VHDL consente di utilizzare nella definizione dell’architettura

Descrizione strutturale Descrizione dataflow Descrizione comportamentale il VHDL consente di utilizzare nella definizione dell’architettura una qualsiasi combinazione dei tre stili e a ciascuna descrizione corrisponderà un’implementazione hardware che opererà parallelamente (o “concorrentemente”) alle altre Prof. Ferrari Claudio

Design entry Design constraints Synthesis Behavioral Design simulation library Implementation Post-fit simulation Download Prof.

Design entry Design constraints Synthesis Behavioral Design simulation library Implementation Post-fit simulation Download Prof. Ferrari Claudio Flusso di progetto per PLD

Due fasi fondamentali. . . Sintesi: procedimento software che converte la descrizione comportamentale in

Due fasi fondamentali. . . Sintesi: procedimento software che converte la descrizione comportamentale in una descrizione strutturale, in cui vengono utilizzate esclusivamente porte logiche elementari Prof. Ferrari Claudio

 Implementazione: procedimento software che converte la descrizione strutturale in una descrizione fisica valida

Implementazione: procedimento software che converte la descrizione strutturale in una descrizione fisica valida per il dispositivo scelto, generandone il relativo file di programmazione. N PPMAP 1 1* N PPMAP 11 11* N PPMAP 12 12* N PPMAP 13 13* N PPMAP 14 14* N PPMAP 18 18* N PPMAP 19 19* N PPMAP 2 2* N PPMAP 20 20* N PPMAP 22 22*. . L 000000011 00000011* L 0000040 00000011 000000* L 0000078 000000 000000* L 0000108 00000011 00000011* L 0000148 10000011 00000011 000000* L 0000186 000000 000000* L 0000216 00000011 00000011* L 0000256 00000011 000000* L 0000294 000000 000000*. . Prof. Ferrari Claudio

Simulazione VHDL permette di descrivere testbench, ovvero sequenze di ingresso che servono per testare

Simulazione VHDL permette di descrivere testbench, ovvero sequenze di ingresso che servono per testare la funzionalità del dispositivo sotto esame per poi passare a verificare la corrispondenza delle uscite alle specifiche assegnate, per mezzo di tools grafici Simulazione “post-fit” Prof. Ferrari Claudio

Download / debug Il JTAG (Joint Test Action Group) è un protocollo di tipo

Download / debug Il JTAG (Joint Test Action Group) è un protocollo di tipo industriale sviluppato per accedere in modalità seriale a segnali e punti di test di un circuito elettronico durante le procedure di built-in test (o debugging) e programmazione. Principalmente permette di: • eseguire il test delle connessioni tra uno o più dispositivi JTAG e tutto ciò che ad essi è collegato; • programmare/riconfigurare in-circuit; • effettuare il debugging del programma (o dell’architettura) trasferito sul chip conformemente alle specifiche fornite, in base a un modello o a vettori di test. Prof. Ferrari Claudio

Attualmente sempre più circuiti integrati contengono un modulo di supervisione e di controllo remoto

Attualmente sempre più circuiti integrati contengono un modulo di supervisione e di controllo remoto accessibile tramite l’interfaccia JTAG Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

Cos’è un FPGA Un FPGA è un componente integrato al cui interno è replicato

Cos’è un FPGA Un FPGA è un componente integrato al cui interno è replicato fino a migliaia di volte un circuito digitale denominato CLB (Configurable Logic Block), nel quale sono svolte funzioni logiche di base Prof. Ferrari Claudio

CLB a grana grossa Xilinx CLB a grana fine Actel Prof. Ferrari Claudio

CLB a grana grossa Xilinx CLB a grana fine Actel Prof. Ferrari Claudio

Cos’è un PSo. C La sigla PSo. C (Programmable System On a Chip) identifica

Cos’è un PSo. C La sigla PSo. C (Programmable System On a Chip) identifica un componente, prodotto di Cypress, che integra un microprocessore e vari moduli sia analogici sia digitali configurabili indipendentemente (così come le relative interconnessioni), al fine di sostituire con un singolo chip più blocchi funzionali. La piattaforma mette a disposizione un vasto insieme di IP (proprietà intellettuali) testate sotto forma di blocchi analogici, digitali e di interfaccia precostruiti. . . Prof. Ferrari Claudio

nonchè tre tipologie di processori Prof. Ferrari Claudio

nonchè tre tipologie di processori Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

IP analogiche disponibili ADCs Delta-Sigma 6 to 14 bit Incremental 6 to 14 bit

IP analogiche disponibili ADCs Delta-Sigma 6 to 14 bit Incremental 6 to 14 bit DACs 6, 8, and 9 bit 6 and 8 bit multiplying Filters 2 pole low-pass 2 pole band-pass Modulators Peak detectors Cap. Sense touch sensing V-to-I converter Prof. Ferrari Claudio Amplifiers Programmable gain Instrumentation Inverting Comparators Hysteresis Zero-crossing ed inoltre, nei PSoc 3 e 5 ADC Delta-Sigma 12 to 20 bit SAR ADC (12 bits) Interlocking DAC Trans Impedance Amplifier Digital Filter Block (DFB)

IP digitali disponibili Timers/Counters 8, 16, and 24 bit Pulse-Width Modulators (PWM) 8, 16,

IP digitali disponibili Timers/Counters 8, 16, and 24 bit Pulse-Width Modulators (PWM) 8, 16, and 24 bit 8 and 16 bit dead band generators Pseudo-Random Source (PRS) Cyclic Redundancy Check (CRC) Communications interfaces I 2 C master, slave, and multi-master SPI master and slave Tx, Rx, and full-duplex UART Full-speed USB 2. 0 Prof. Ferrari Claudio ed inoltre, nei PSoc 3 e 5 Primitives like AND, OR, XOR, LUT, etc. Quadrature encoder for motor control Communications Interfaces: CAN, I 2 S e solamente nei PSoc 3 e 5 RTOS Keil® RTX 51 Tiny™ Micrium® μc/OS-II™ Segger® emb. OS

Inoltre. . . un PSo. C mette a disposizione risorse per l’interfacciamento diretto a:

Inoltre. . . un PSo. C mette a disposizione risorse per l’interfacciamento diretto a: Communications Environmental Fan/Motor Power Touch Control Sensing Control sensing interface Other Cap. Sense Wireless capacitive Battery Pressure AC radio motor charging sensing control (buttons, sliders) Magnetic cord read/write Voltage Touchscreens DC Humidity LINmotor &bus current Mechanical buttons or other inputs Optical System cable Current Trackpads Fan power conversion LCD display/drive control Dual Tone Multi-Frequency ACProximity power Fuel Airflow pump metering sensing (DTMF) dialer LED drive Instrument Acceleration USB Lighting 2. 0 gauges Tilt Pyroelectric Infrared (PIR) Light Voltage Temperature Inductive Gas Liquid level Prof. Ferrari Claudio

PSo. C CREATOR™ – Software per PSo. C 3 e PSo. C 5 Step

PSo. C CREATOR™ – Software per PSo. C 3 e PSo. C 5 Step 1: scelta e configurazione hardware dei dispositivi on-chip da implementare Prof. Ferrari Claudio

PSo. C CREATOR™ – Software per PSo. C 3 e PSo. C 5 Step

PSo. C CREATOR™ – Software per PSo. C 3 e PSo. C 5 Step 2: scrittura dell’applicativo in linguaggio C utilizzando istruzioni e compilatori standard Prof. Ferrari Claudio

PSo. C DESIGNER™ – Software per PSo. C 1 – Chip level Prof. Ferrari

PSo. C DESIGNER™ – Software per PSo. C 1 – Chip level Prof. Ferrari Claudio

PSo. C DESIGNER™ – Software per PSo. C 1 – System level = PSo.

PSo. C DESIGNER™ – Software per PSo. C 1 – System level = PSo. C EXPRESS™ Prof. Ferrari Claudio

PSo. C EXPRESS™: elementi fondamentali per la progettazione PSo. C Express mette a disposizione

PSo. C EXPRESS™: elementi fondamentali per la progettazione PSo. C Express mette a disposizione un catalogo di dispositivi, detti drivers, utilizzabili per acquisire/generare segnali. Un driver è associato ad un dispositivo hardware, quale ad esempio un sensore di temperatura. input/output input output interface Prof. Ferrari Claudio

PSo. C EXPRESS™: elementi fondamentali per la progettazione Gli output drivers sono pilotati mediante

PSo. C EXPRESS™: elementi fondamentali per la progettazione Gli output drivers sono pilotati mediante transfer functions, che li mettono in relazione con gli input drivers Literal code: funzione Loop delay: che consente funzione di che Status scrivere codice permette in encoder: di funzione che genera linguaggio C confrontare il l’uscita corrispondente valore corrente con Setpoint region: Table lookup: funzione che di allaquello combinazione precedente funzione che suddivide State machine: modello permette dipiù assegnare uno o ingressi il rangeall’uscita del segnale comportamentale costituito un di valore per ingresso n zone dainstati, transizioni e azioni ciascuna combinazione Priority encoder: sugli ingressi funzione possibile che genera l’uscita corrispondente all’ingresso prioritario Prof. Ferrari Claudio

PSo. C EXPRESS™: strumenti per la simulazione Durante la simulazione, a ciascun elemento viene

PSo. C EXPRESS™: strumenti per la simulazione Durante la simulazione, a ciascun elemento viene associato un “widget” che permette di manipolare gli input e di verificare conseguentemente che il progetto funzioni come desiderato Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio

Truth Table LPT Y 000 0 001 1 010 1 011 1 100 0

Truth Table LPT Y 000 0 001 1 010 1 011 1 100 0 101 0 110 0 111 1 Prof. Ferrari Claudio

La simulazione L’implementazione Prof. Ferrari Claudio

La simulazione L’implementazione Prof. Ferrari Claudio

Sistemi di sviluppo STARTER KITS : First. Touch sistemi per valutare i PSo. C

Sistemi di sviluppo STARTER KITS : First. Touch sistemi per valutare i PSo. C in applicazioni quali: • capacitive sense, • light sense, • wireless, • mixed-signal EVALUATION AND DEVELOPMENT KITS Kit che permettono di testare rapidamente i progetti sviluppati; ciascun kit comprende un programmatore Mini. Prog Prof. Ferrari Claudio

First. Touch Prof. Ferrari Claudio

First. Touch Prof. Ferrari Claudio

Evaluation and development kit Prof. Ferrari Claudio

Evaluation and development kit Prof. Ferrari Claudio

Prof. Ferrari Claudio

Prof. Ferrari Claudio