FPGA Soft Core-Debugging: Unterschied zwischen den Versionen
(erste Version) |
K (Textersetzung - „class="sortable“ durch „class="wikitable sortable“) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Beim Entwickleln und Experimentieren mit neuen Soft Cores kommt es i.d.R. häufiger vor, das ein Design nicht auf Anhieb läuft. Hier sollen ein paar Hinweise gegeben werden, wo und wie man dem Fehlerteufel auf die Spur kommt. | Beim Entwickleln und Experimentieren mit neuen Soft Cores kommt es i.d.R. häufiger vor, das ein Design nicht auf Anhieb läuft. Hier sollen ein paar Hinweise gegeben werden, wo und wie man dem Fehlerteufel auf die Spur kommt. | ||
{| border="1" class="sortable" | {| border="1" class="wikitable sortable" | ||
|- | |- | ||
!Problem | !Problem | ||
Zeile 28: | Zeile 28: | ||
Unter der Alteraentwicklungsumgebung heißt der IP-Logikanalysator SignalTap. Bei Xilinx nennt sich das Werkzeug ChipScope und kostet Geld. In Altium Designer ist neben anderen Modulen ebenfalls ein Logikanalysator dabei. | Unter der Alteraentwicklungsumgebung heißt der IP-Logikanalysator SignalTap. Bei Xilinx nennt sich das Werkzeug ChipScope und kostet Geld. In Altium Designer ist neben anderen Modulen ebenfalls ein Logikanalysator dabei. | ||
Als OpenSource-Lösung bietet sich der ''FPGA Based Logic Analyzer'' von http://www.sump.org/projects/analyzer an, welcher natürlich auch für interne Signale funktioniert. | Als OpenSource-Lösung bietet sich der ''FPGA Based Logic Analyzer'' von http://www.sump.org/projects/analyzer an, welcher natürlich auch für interne Signale funktioniert. | ||
[[Kategorie:FPGA und Co]] |
Aktuelle Version vom 20. Januar 2014, 10:26 Uhr
Beim Entwickleln und Experimentieren mit neuen Soft Cores kommt es i.d.R. häufiger vor, das ein Design nicht auf Anhieb läuft. Hier sollen ein paar Hinweise gegeben werden, wo und wie man dem Fehlerteufel auf die Spur kommt.
Problem | Untersuchungsmethode | Ursachen |
---|---|---|
Läuft der Core überhaupt los? | Adresszähler beobachten (auf 7-Segment-Anzeige oder Logikanalysator darstellen und auf Reset triggern) | falsche Resetpolarität |
Werden die richtigen Instruktionen gelesen? | Adress- und Datenbus beobachten | Speicherdefionition mit array(tiefe-1 downto ) of slv; statt
array(0 to tiefe-1) of slv; |
Bleibt der Core irgendwo hängen? | Adresszähler beobachten | Zugriff auf nicht belegte Adressen und fehlendes Acknowledge |
Werkzeuge
Neben der erwähnten 7-Segment-Anzeige, die auf vielen Evalboards verbaut ist, eignen sich natürlich auch LEDs zur Anzeige von Systemzuständen. Damit ist aber nur ein sehr rudimentäres Debugging möglich.
Neben "Hardware"-Logikanalysatoren eignen sich bei FPGAs sehr gut IP-Cores. Der Nachteil ist: sie benötigen Chipfläche.
Unter der Alteraentwicklungsumgebung heißt der IP-Logikanalysator SignalTap. Bei Xilinx nennt sich das Werkzeug ChipScope und kostet Geld. In Altium Designer ist neben anderen Modulen ebenfalls ein Logikanalysator dabei. Als OpenSource-Lösung bietet sich der FPGA Based Logic Analyzer von http://www.sump.org/projects/analyzer an, welcher natürlich auch für interne Signale funktioniert.