Projekt AudioSigLib

AudioSigLib_poster.png

Ziel

  • Hardware & Software Platform zur Audio Signal Verarbeitung
  • Aufbau einer Bibliothek mit IP-Blöcken zur Audio Signal Verarbeitung
  • HLS testen und Resultate mit HDL vergleichen

AudioSigLib_overview.png

Motivation

  • Echtzeitverarbeitung
  • Kombination aus Hard- und Software
  • Keine CPU-Zeit für die Signalverarbeitung
  • Flexibel und Modular - Wiederverwendbarkeit

Übersicht

Hardware - Digilent Zybo-Z7

  • Xilinx SoC
  • FPGA und ARM Core

zybo-z7-0.png

Xilinx Zynq

zynq.png

Vorwissen

  Xilinx Vivado HDL Design Xilinx SoC Linux Treiber GIT AXI4
Elias n j n j j n
Daniel n j n j j n
Martin n n n n j n
Franz j j n n j j

Tools

  • Xilinx Vivado & SDK
  • Sigasi Studio
  • Modelsim - Intel FPGA Starter Edition
  • Xilinx PetaLinux Tools
  • GIT - Gitlab

Umsetzung

overview.png

AXI4-lite - Memory Mapped

dasp_block.png

Register Map

Address Register Description
0x00 ID library component identifier
0x04 Verison library component version number
0x08 Position position inside the processing chain
0x0C - …   component specific registers
     

AXI4 Stream - Daten

axis_sink_source.png

axis_wave.png

Daten Paket

tdata.png

Design Flow

design_flow.png

Resultat

Status

  • Funktionale Platform (HW & SW)
  • Konzept bewiesen
  • Erste Blöcke fertig und getestet
  • Git Repo mit Wiki und Anleitung!

AudioStream

audiostream.png

FIR Filter

fir.png

RGB LED Controller

rgbled.png

Gesamtsystem

system.jpg

Schwierigkeiten

Xilinx Vivado
  • Versionskonflikte (TCL Befehle, IP Cores)
  • GIT & Vivado
  • Instabil
  • Datein werden kopiert, Änderungen teilweise nicht übernommen
  • Relative und Absolute Pfade, zB: ../../../../../../C:/Users/Franz/FH/AudioSigLib/ip/FIR/hdl/
  • PetaLinux Tools verwendet ältere Vivado Version
  • Funktion vom OS abhängig (Simulator)
  • Fehlermeldungen werden nicht gelöscht - selber löschen
Ausfall eines Teammitglieds
  • Folge: Wegfallen der HLS
Verifikation
  • Aufwendig
IIR Filter Design
  • Skalierung der Filterkoeffizenten
PetaLinux Tools
  • sehr Aufwendig
  • neuer bitstream erfordert neues Image
Generisches Design
  • sehr Aufwendig

Verbesserungen

  • Gleiche Vivado Version auf allen PCs
  • (Gleiches OS = Virtuelle Maschiene)
  • Besserer Workflow mit Git und Vivado
  • Eigenes Testbed um IP Cores und Blockdesign bei der Implementierung zu vermeiden
  • Viel Zeit für Vivado einplanen…

Team

Projekt Team

  • Geissler Elias, BSc
  • Klepatsch Daniel, BSc
  • Schram Martin, BSc
  • Steinbacher Franz, BSc

Projekt Betreuer

  • FH-Prof. Dipl-Ing. Dr. Markus Pfaff

University of Applied Sciences Upper Austria

Campus Hagenberg

Department Embedded Systems Design

Author: Franz Xaver Steinbacher

Created: 2019-07-02 Di. 18:29

Emacs 24.5.1 (Org mode 8.2.10)

Validate