Firmware - Luglio-Agosto 2014 / N°102/103 - (Page 60)

SPOTlight Figura 5 - Codice iniziale in ambiente Vivado HLS, che non tiene conto del comportamento della memoria tampone di linea dei dati video e NlogN rispettivamente nello scenario del caso peggiore, del caso medio e del caso migliore. Nel frattempo, per l'algoritmo bubblesort, la complessità è N2, N2, N. Questa, in sé, sembra una buona ragione per cercare un'alternativa. Nell'elaborazione delle immagini è necessario un comportamento determini- stico nel metodo di classificazione, allo scopo di produrre l'immagine in uscita ad una velocità costante. Di conseguenza, nessuno degli algoritmi sopra menzionati è un buon candidato per il nostro progetto FPGA con Vivado HLS. Le reti di classificazione offrono un modo per ottenere un tempo di esecuzione più rapido attraverso il ricorso all'esecuzione parallela. Il blocco costruttivo fondamentale di una rete di classificazione è il comparatore - un componente semplice che può ordinare due numeri, a e b, e quindi fornire il loro massimo e il loro minimo rispettivamente all'uscita superiore e all'uscita inferiore, effettuando un'inversione se necessario. Il vantaggio delle reti di classificazione rispetto agli algoritmi classici di ordinamento è che il numero di comparatori è fissato per un determinato numero di ingressi. Di conseguenza, è semplice realizzare una rete di classificazione nell'hardware di un FPGA. La figura 3 illustra una rete di classificazione per cinque campioni (progettata con Xilinx System Generator). Notate che il ritardo di elaborazione è esattamente pari a cinque campioni, indipendentemente dal valore dei campioni in ingresso. Notate anche che i cinque segnali in uscita in parallelo sulla destra contengono i dati ordinati, con il massimo in cima e il minimo in fondo. La realizzazione di un filtro delle mediane attraverso una rete di classificazione in linguaggio C è immediata, come illustrato nel codice in figura 4. Le direttive stabilite con il tool Vivado HLS sono inglobate nel codice C in sé (#pragma HLS). Vivado HLS richiede solo due direttive di ottimizzazione per gene- Figura 6 - Stima delle prestazioni di Vivado HLS per il filtro delle mediane elementare di riferimento, qualora dovesse essere usato come una funzione reale di alto livello; il risultato è lontano dall'ottimale rare del codice RTL ottimale. La prima consiste nel distribuire l'intera funzione con un intervallo di inizializzazione di 1 per avere una velocità dei pixel in uscita uguale alla frequenza di base dell'FPGA. La seconda ottimizzazione consiste nel rimodellare la finestra di pixel in registri separati, migliorando così la banda e accedendo a tutti i dati contemporaneamente in parallelo. FOCUS ON SKILLS INSIDE TOOLS ANALOG TIPS'N TRICKS MARKET NEWS SPOTLIGHT EVENTS ZAPPING MEMBERSHIP

Tabella dei contenuti per la edizione digitale del Firmware - Luglio-Agosto 2014 / N°102/103

TIPS'n tricks
FOCUS on Triplo DES con Microchip
SKILLs Delay/Block Debouncer
INside
Una Soluzione ZigBee a Singolo Chip
La famiglia XMEGA e gli ADC di Atmel
ANALOG “Sensing” Virtuale a 2-Fili per Regolatori di Tensione
SPOTlight
Proteggere gli Investimenti in R&D con l’Autenticazione Sicura
Vivado High-Level Synthesis
Il CMRR negli Operazionali ad Ampia Gamma Dinamica
News
EVENTS zapping
Guida

Firmware - Luglio-Agosto 2014 / N°102/103

https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com