hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik FPGA-Anwendung in der digitalen Bildverarbeitung Beitrag aus der HAW Hamburg. 20.03.2002 Im Hause R. Bosch Stuttgart Feuerbach. Abteilung VT-ATMO EKE21 1 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Vorstellung • 13 Fachbereiche der HAW Hamburg; gegr. 1970 • 14000 Studierenden in 27 Studiengängen • 471 Professorinnen und Professoren • Fachbereich Elektrotechnik und Informatik, Berliner Tor 3 1.940 Studierende 69 Professoren, 64 Mitarbeiter 5 Studiengänge: Informatik - Technische Informatik Automatisierungs-, Kommunikations- und Informationstechnik - Information Engineering Europäischer Studiengang 2 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Inhalt • • • • • Schwerpunkte in der Digitaltechnik-Ausbildung Hardware-Plattformen Ziele der Hardware-Anwendungen Entwurfsbeispiele aus Projekten und Diplomarbeiten Implementierung einer Laplace-Filterung Nachbarschaftsoperationen - Pixeladressierung Datenpfad mit Pipelining Timing-Schema der Laplace-Pipeline Steuerautomat Implementierungskennwerte 3 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Digitaltechnik Ausbildung • Entwurf digitaler Funktionsblöcke als Prozessorelement Pipelining der Arithmetikstufen Resource Sharing mit Übertaktung • • • • • Modellierung mit synthesefähigem VHDL-Code Implementierung mit Xilinx CPLDs und FPGAs Verifikation mit Backannotation-Simulation Messtechnische Analyse an den Hardware-Schnittstellen Ergebnisvergleich mit Matlab-Referenzen 4 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Hardware-Plattformen IPU 2 XS95/XS40 XST-1 IPU 1 95108/ 4010XL 4013E 4044XLA Virtex 300 µC8032 512 kB SRAM 2 MB SRAM 2 MB SRAM PAL22V10 CCDInterface Codec 12 Bit ISA PCI LPT/PCI 32 kB SRAM MicroEnable Codec 20 Bit LPT DSP Katana 5 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Ziele der Hardware-Anwendungen • Ausbildungsstufen vom 2. Semester bis zum 2. Jahr der Masterkurse werden mit zunehmender Hardware-Komplexität unterstützt. • Zu implementierende Funktionen basieren auf Inhalten von Lehrveranstaltungen: Nachrichtentechnik, Signalverarbeitung, Bildverarbeitung, Datenübertragung, • Mathematisch basierte Themen werden in praxisnahen Anwendungen vertieft. • Hardware-Bezug betont elektrotechnische Aspekte. • Messtechnik wird mit analytischer Vorhersage gekoppelt. 6 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Entwurfsbeispiele • • • • • UART-Interface: CPLD µC8032 Terminal CISC- u. RISC-Prozessor-Modelle Bildverarbeitung: Kontrastverstärkung Rauschunterdrückung - Kantenverstärkung Segmentierung Signalverarbeitung:Audio-Codec-Interface FIR-Filter Implementierungsvarianten Quellen- und Kanalcodierung: Huffman-Decoder Viterbi-Decoder mit Traceback 7 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik FPGAProzessor ALGORITHMUS: Nachbarschaftsoperationen/ TransformationsLUTs FSM-Controller RAMCOM: Multiplexer mit Tristate-Treibern 8 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Grauwertäqualisation Absolutes Histogramm Histogramm des transformierten Bildes Häufigkeit 2000 2000 1800 1800 1600 1600 1400 1400 1200 1200 Grau 249 241 233 225 217 209 201 193 185 177 169 161 153 145 137 129 121 113 97 105 89 81 Grauwert Grauwert Schwarz 73 65 57 49 41 33 25 9 249 241 233 225 217 209 201 193 185 177 169 161 153 145 137 129 121 113 97 105 89 81 0 73 0 65 200 57 200 49 400 41 400 33 600 25 600 9 800 17 800 1 Reihe1 1000 17 Reihe1 1000 1 Häufigkeit Weiß Schwarz Grau Weiß 9 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Kontrastverstärkung 10 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Transformationskennlinie Fachbereich Elektrotechnik und Informatik Ergebnis 1 x y ( x) H B (k ) C k 0 11 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Median-Filterung 12 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Laplace-Filterung 13 hochschule für angewandte wissenschaften hamburg Prof. Dr. B. Schwarz Fachbereich Elektrotechnik und Informatik Implementierung einer Laplace-Filterung Lokale Nachbarschaftsoperationen Pixeladressierung Datenpfad mit Pipelining Timing-Schema der Laplace-Pipeline Steuerautomat Implementierungskennwerte 14 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Lokale Nachbarschaftsoperationen 0 1 2 3 4 5 6 7 n Strukturierendes Element: Laplace-Operator 0 m 1 2 3 4 Eingangsbild 5 6 7 I m,n Strukturelement M11 M12 M13 M21 M22 M23 M31 M32 M33 0 1 0 L1 1 - 4 1 0 1 0 S 0 1 2 3 n 4 5 6 Om,n = I m,n - I‘‘ m,n 7 0 m 3 4 5 6 7 1 2 Ergebnisbild Om,n 15 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Pixeladressierung in 4 SRAM-Blöcken Graustufenbild 32 Pixel a 1Byte Anwender_Entity RAMCOM ADDRESSCOUNTER c_address(1:0) 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 32 Bit Transfer Multiplexer 11 SEL 10 RAM 2 1 Byte RAM 1 1 Byte RAM 0 1 Byte SRAM 3 2 1 0 Adresse 0 01 7 6 5 4 Adresse 1 00 11 10 9 8 Adresse 2 15 14 13 12 Adresse 3 19 18 17 16 Adresse 4 23 22 21 20 Adresse 5 27 26 25 24 Adresse 6 8 Bit CONTROL RAM 3 1 Byte BVAlgorithmus 31 30 CS(3) 29 CS(2) 28 CS(1) Adresse 7 CS(0) 16 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Laplace-Filter ohne Pipelining P1 P2 P3 Spalte n Zeile 1 P13 Zeile 2 P12 * M13 * P11 M12 * P23 M11 P22 * M23 + Zeile 3 P21 * M22 P33 * M21 * M33 + P31 * M32 * M31 + + + P32 + + + RESULT 17 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Laplace-Filter mit Pipelining (1) Spalte n+2 Spalte n+1 P13 * M13 * M23 * M33 * M12 + P33 P23 * M22 Spalte n * M32 * M11 + * M21 M31 + + + + Stufe 1 Z3 Z2 Z1 Stufe 2 Z3b Z2b Stufe 3 Z3c ADD1 * + ADD2 + RESULT 18 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz 8 D_IN DEMUX SEL[1:0] READ_DATA Laplace-Filter mit vollständigem Pipelining (2) P13 M12 '0' P33 8 '0' 8 Spalte n P23 M32 + 8 TEMP1 9 REG 1 EN_REG REG 2 Registerebene 1 8 9 '0' "00" 8 "00" M22 Mittlere Spalte ADD1 11 Registerebene 2 Z13 Z2 8 11 8 Z2b Z3b Registerebene 3 8 8 Z3c 11 M21'0' 8 '0' M23 Registerebene 4 TEMP2 Mittlere Zeile + 9 REG 3 REG 5 REG 4 11 "00" 9 Registerebene 5 + 11 I'' 8 TEMP3 REG6 REG 7 I = P2n 11 Registerebene 6 8 "000" TEMP4 11 O = I - I'' REG 8 Registerebene 7 11 Begrenzung 8 REG 9 8 RESULT Registerebene 8 19 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Timing-Schema der Laplace-Pipeline Laplace-Matrix 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 zu bearbeitendes Bild 6 PIXEL 1 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 16 PIXEL column_counter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 3 4 5 count REGISTER EBENE Anlaufverhalten der Pipeline 8 Normalbetrieb Reihenwechsel Normal betrieb Leerlaufen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 30 31 32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 31 32 xx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 32 xx xx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 xx xx xx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 xx xx xx 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 xx xx xx 7 6 5 4 3 2 1 1 count 20 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Zustandsdiagramm des Steuerautomaten PON RESET INCADR 1 0 0 0 00 00 0 0 0 0 0 0 0 0 0 00 00 0 0 0 1 0 0 0 0 0 00 00 0 0 0 0 0 0 0 0 1 00 00 0 0 1 0 0 _____ P_END X SLEEP LAST_PIX P_END _____ algo_start algo_start X A0_2 LAST_WRITE 0 0 0 0 00 00 0 0 0 0 0 0 0 0 0 11 00 0 0 0 0 0 X X A0 0 0 0 0 00 00 0 0 0 0 0 A1_2 ALGO2 0 0 0 0 01 00 0 0 0 0 0 0 1 1 0 00 00 0 1 0 0 0 X X A1 0 0 0 0 01 00 0 0 0 0 0 median_ready A2_2 PRD_2 0 0 0 0 10 00 0 0 0 0 0 0 0 0 0 00 00 1 0 0 0 0 X X __________ median_ready X A2 W0_2 0 0 0 0 10 00 0 0 0 0 0 0 0 0 0 00 00 0 0 0 0 0 D0_2 X ALGO2_STOP 0 0 0 00 00 0 0 0 0 1 0 0 0 0 00 00 1 0 0 0 0 X X D1_2 W0 0 0 0 0 00 01 1 0 0 0 0 0 0 0 0 00 00 0 X0 0 0 0 X X D2_2 PRD 0 0 0 0 00 10 1 0 0 0 0 0 0 0 0 00 00 1 0 0 0 0 X X D0 ROW _BEGIN 0 0 0 0 00 00 1 0 0 0 0 READREG 0 0 0 0 00 00 0 0 1 0 0 X __________ ROW _BEGIN X D1 INCADR2 PIXWRITE 0 0 0 0 00 01 1 0 0 0 0 0 0 0 0 00 00 0 0 0 1 0 _____ fstep 0 0 0 0 11 00 0 0 0 0 0 X D2 READREGS 0 0 0 0 00 10 1 0 0 0 0 0 0 0 0 00 00 0 0 1 0 0 X X fstep Zustand RESET_ALL, reset_median_ac, reset_median_cc, set_median_ready, SEL, W_SEL, READ, WRITE, EN_REG, ADR_COL_COUNT, algo_ready WD 0 0 0 0 00 00 0 1 0 0 0 algo_start, ROW_BEGIN, P_END, fstep, median_ready 21 hochschule für angewandte wissenschaften hamburg Fachbereich Elektrotechnik und Informatik Prof. Dr. B. Schwarz Implementierungskennwerte Gesamtsystem Verarbeitungstakte pro Bild maximale Betriebsfrequenz maximale Datenpfadfreq. (Median) Verarbeitungszeit pro Bild Median 8 stufig 2 047 116 32 MHz 40,5 MHz 63,9 ms Median/Laplace 10/8 stufig 3 070 141 43,4 MHz 54.7 MHz 70.7 ms Differenz relativ +49,97 % +35,41 % +35,06% +10,64% Gesamtsystem Anzahl der Flip Flops Anzahl der Gatter Äquivalente Implementierungszeit mit F2.1i Median 8 stufig 354 6973 ca. 46 Min. Median/Laplace 10/8stufig 775 11007 ca. 12 Min. 22