Dieses Designbeispiel mit geringem Energieverbrauch zeigt, wie Sie den Nios II C-to-Hardware (C2H) Beschleunigungs-Compiler verwenden, um den dynamischen Energieverbrauch in einem FPGA-basierten Embedded-Design zu reduzieren. Das Beispiel berechnet das Fraktalmuster Für die Messung der Auswirkungen auf den Energieverbrauch und den gesamter Systemdurchsatz wird das Fraktalmuster für die Mengen an Hardwarebeschleunigern verwendet.
Das Designbeispiel läuft auf dem wirtschaftlichen Cyclone® III FPGA Starter-Kit.
Das Beispiel umfasst drei separate Designs. Jede stellt eine andere Ebene der Hardwarebeschleunigung dar:
- Kein Hardware-Beschleuniger
- Ein Hardware-Beschleuniger
- Fünf Hardware-Beschleuniger
Alle drei Beispiele ändern die Taktfrequenz sowohl des Prozessors als auch der Beschleuniger sequentiell, sodass die Leistungsaufnahme für jede Konfiguration gemessen und verglichen werden kann.
Dieses Beispiel zeigt, dass Sie durch Hinzufügen von Hardwarebeschleunigern zu einem Design die Taktfrequenz des Systems erheblich reduzieren können. Dies reduziert den dynamischen Energieverbrauch und hält dennoch das erforderliche Leistungsniveau aufrecht. Tabelle 1 zeigt die dynamische Leistungsaufnahme, die für drei Beispielkonfigurationen gemessen wurde.
Tabelle 1. Gemessene dynamische Leistungsaufnahme
Systemkonfiguration | Nios II Kein Beschleuniger |
Nios II + 1 Beschleuniger |
Nios II + 5 Beschleuniger |
---|---|---|---|
Taktfrequenz | 80 MHz | 40 MHz | 20 MHz |
Dynamische Gesamtleistung (1) | 132 mW | 72 mW | 84 mW |
Kalkulationsleistung von Rechenleistung | .184 Fps (2) | 8,2 Fps | 20,1 Fps |
Systemeffizienz | 717 mWs pro Frame (3) | 8,7 mWs pro Frame | 4,1 mWs pro Frame |
Notizen:
- Dynamische Leistungsaufnahme ist definiert als die Gesamtleistung, die die statische Leistung abzieht (Leistung gemessen, ohne dass ein Takt verwendet wurde)
- Fps = Bilder pro Sekunde
- mWs = Sek.
Im 5-Beschleunigersystem läuft jeder Beschleuniger autonom und verarbeitet jeweils eine horizontale Zeile. Nachdem die Verarbeitung einer Bildlinie abgeschlossen ist, übernimmt sie die nächste verfügbare Zeile und beginnt mit der Verarbeitung. Ein Hardware-System wird verwendet, um zu verhindern, dass mehrere Beschleuniger die gleiche Leitung erwerben.
Führen Sie das Beispiel aus
Führen Sie die folgenden Schritte durch, um das Nios II Beispiel für ein energiesparendes Design herunterzuladen und auszuführen:
- Laden Sie die herunter. zip-Datei mit dem Nios II Beispiel für ein Energiespardesign.
- Extrahieren Sie die heruntergeladene . zip-Datei in ein Arbeitsverzeichnis auf Ihrem Computer.
- Schließen Sie Strom- und USB-Kabel an Ihr Cyclone-III-Starter-Kit an und schließen Sie das andere Ende des USB-Kabels an einen der USB-Anschlüsse Ihres Computers an. Schalten Sie die Stromversorgung auf das Mainboard ein.
- Öffnen Sie eine Nios II Command Shell und wechseln Sie in das Verzeichnis, in das Sie das extrahiert haben. zip-Datei.
- Wechseln Sie in das Verzeichnis "c3_power_c2h_0_accel/software_examples/app/accel_0_test"
- Geben Sie den Befehl "./create_this_app" ein, um das Softwareprojekt zu erstellen und zu erstellen.
- Geben Sie den Befehl "nios2-configure-sof . ein. /.. /.. /c3_power_proj.sof " zur Konfiguration der 65-nm-FPGA auf dem Cyclone III Starter-Kit-Mainboard.
- Geben Sie den Befehl "nios2-terminal" ein, um eine Terminalsitzung zu öffnen.
- Geben Sie den Befehl "make download-elf" ein, um die Software auf dem Nios II Prozessor herunterzuladen und auszuführen.
Die Verwendung dieses Designs unterliegt den Bedingungen der Intel® Design Example Lizenzvereinbarung.
Dies führt nur das Nios II Design (kein Beschleuniger) aus. Um den Nios II sowie einen Beschleuniger und Nios II plus fünf Beschleunigerdesigns auszuführen, wiederholen Sie die Schritte 5-9 und ersetzen den Pfad in Schritt 5 durch "c3_power_c2h_1_accel" bzw. "c3_power_c2h_5_accel".
Das Mainboard wird nun seine Taktfrequenzinformationen und Die Leistungsmessungen der Einheiten in der Terminalsitzung ausdrucken. Sie können den gesamten Energieverbrauch des FPGA Kerns messen, indem Sie die Spannung über einen Stromsensor-Widerstand auf dem Mainboard messen.
Im Benutzerhandbuch für das Cyclone III FPGA Starter-Kit finden Sie ausführliche Anleitungen zur genauen Messung und Berechnung des FPGA Energieverbrauchs des Kerns.