Starter-Kit

SoCrates "wirbelt Probleme weg"

23. April 2014, 11:34 Uhr | Von Frank Riemenschneider
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 5

Software-Entwicklung und -Debugging

Für ein Cyclone V und andere FPGA-SoCs braucht man normalerweise ebenfalls zwei getrennte Tool Flows
Für ein Cyclone V und andere FPGA-SoCs braucht man normalerweise ebenfalls zwei getrennte Tool Flows
© EBV Elektronik

Ein unstrittiger Vorteil eines SoC-FPGA wie Cyclone V ist die Tatsache, dass Applikationen, für die bislang Mehrchip-Lösungen wie z.B. Freescales i.MX für Linux auf einem Applikationsprozessor in Verbindung mit einem Kine-tis-Mikro­controller notwendig waren, sich dank der Flexibilität der FPGA-Logik in einem Chip integrieren lassen. Damit braucht man nicht mehr verschiedene Tool Flows; der Aufwand für Wartung und Pflege der Software sinkt.
Was allerdings von den FPGA-Herstellern gerne vergessen wird, zu erwähnen, ist die Tatsache, dass man für ein Cyclone V und andere FPGA-SoCs normalerweise ebenfalls zwei getrennte Tool Flows braucht (Bild 5) – einen für die FPGA-Logik und einen für das ARM-Prozessor-System. Was erschwerend hinzukommt und gerne ignoriert wird, ist die Tatsache, dass die Anzahl der FPGA-Entwickler speziell bei mittelständischen Unternehmen, die bislang mit MPUs und MCUs gearbeitet haben, sehr limitiert ist – VHDL ist leider nunmal grundsätzlich anders als C++.
Altera hat als Nachfolger des SOPC Builder eine Software namens QSys herausgebracht, welche dieses Problem löst. IP-Peripherie-Blöcke, die in die FPGA-Logik integriert werden sollen, können dabei einfach mittels einer grafischen Benutzeroberfläche eingebunden werden – ganz ohne VHDL-Kenntnisse. Qsys besitzt einen komplett neu entworfenen sogenannten „switching fabric generator“. Der Generator des SOPC Builder ist ein festes, unflexibles und teils veraltetes Perl Script. Der Qsys-Generator ist modularer und mit besseren Algorithmen ausgestattet. Vor allem erhofft man sich mit dem neuen Generator die Erzeugung von deutlich schnelleren und performanteren Designs.
Anschließend kann der sogenannte Hardware/Software Handoff vorgenommen und mit den bekannten Tools wie dem ARM-Entwicklungssystem weitergemacht werden. Und damit wartet schon die zweite Herausforderung, nämlich das parallele Debugging von FPGA-Logik und Prozessor.
Ein herkömmlicher Ansatz wäre, jeweils über eine dedizierte JTAG-Schnittstelle mit ARMs DS-5 Toolkit sowie Alteras Software Quartus II zu debuggen. Ersteres visualisiert und steuert das CPU-Subsystem, zweiteres die FPGA-Logik. Das Problem ist, einen zeitlichen Zusammenhang zwischen Aktivitäten beider Domänen herzustellen.
Als Lösung dieses Problems hat Altera exklusiv mit ARM eine ARM Development Studio 5 (DS-5) Altera Edition Toolkit genannte Lösung entwickelt, die über eine Logikzellen-Debugging-Erweiterung des Standard-Kit die Debugging-Barriere zwischen CPUs und FPGA-Logik beseitigt – und die Alteras Konkurrent Xilinx dank eines Exklusivitätsabkommens nicht zur Verfügung steht. Über den USB-Blaster kann ein Co-Debugging über beide Domänen (HW/SW) vorgenommen werden, z.B. indem ein Trigger aus dem SignalTap-II-Logikanalysator (enthalten im Quartus-II-Entwicklungspaket) gesetzt wird und anschließend Zeitstempel-korrelierte Ereignisse in HW und SW analysiert werden können. Der Logikanalysator ermöglicht also Unterbrechungen auch in der Software.


  1. SoCrates "wirbelt Probleme weg"
  2. Leistungsmerkmale des Cortex-A9
  3. Entlastung für den Hauptbus
  4. Hoher Umrechnungsfaktor für DSP-Blöcke
  5. Zwei Transceiver-Arten
  6. Software-Entwicklung und -Debugging
  7. SoCrates verbindet Cyclone mit der Umwelt

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu EBV Elektronik GmbH & Co. KG

Weitere Artikel zu Programmierbare Logik-ICs