Ein 8-bit-Softcore-Prozessor für programmierbare Logik

22. April 2009, 7:55 Uhr | Prof. Dr. Irenäus Schoppa
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Entwicklungsumgebung

Der PicoBlaze wird überwiegend in Assembler programmiert. Gegenwärtig stehen dem Anwender zwei Software-Produkte zur Verfügung: eine integrierte Entwicklungsumgebung pBlazeIDE von Mediatronix und der KCPSM3-Assembler von Xilinx. In Bild 3 ist in einem Workflow-Diagramm die Software-Entwicklung für den PicoBlaze mit dem KCPSM3-Assembler dargestellt.

Die Software-Entwicklung lässt sich im Wesentlichen in drei Phasen aufteilen. Die erste Phase sind die Software-Erstellung und die Assemblierung mit dem KCPSM3-Assembler. Ein Assembler-Programm wird mit einem Texteditor geschrieben und anschließend mit dem KCPSM3-Assembler übersetzt. Dabei greift der Assembler auf Dateien mit vordefinierter Beschreibung des Programmspeichers zu. Bei einer fehlerfreien Übersetzung werden neben Protokolldateien vor allem Dateien mit dem Inhalt des Programmspeichers in binärer Form generiert. Die zweite Phase umfasst die Integration der Applikation in eine VHDL-Umgebung. Dabei wird der binäre Speicherinhalt zusammen mit der VHDL-Beschreibung des PicoBlaze (kcpsm3.vhd) mit einem VHDL-Compiler übersetzt. Anschließend kann das Laufzeitverhalten des Programms im Rahmen einer Simulation verifiziert werden. Diese Phase entspricht weitgehend dem Debuggen von Programmen in der Software-Entwicklung für herkömmliche Prozessoren. Die dritte und letzte Phase ist die Synthese mit optionaler Fehlersuche mit ChipScope. Genauso wie in der zweiten Phase wird der binäre Speicherinhalt zusammen mit der VHDL-Beschreibung des PicoBlaze (kcpsm3.vhd) mit einem VHDL-Synthese-Tool analysiert und bis zur fertigen Schaltung synthetisiert. Optional kann die Schaltung mit dem ChipScope direkt auf dem FPGA analysiert werden. fr

9080103_tm.jpg
Bild 3. Workflow-Diagramm für die Software-Entwicklung für den PicoBlaze.

  1. Ein 8-bit-Softcore-Prozessor für programmierbare Logik
  2. Ein 8-bit-Softcore-Prozessor für programmierbare Logik
  3. Ein 8-bit-Softcore-Prozessor für programmierbare Logik
  4. Entwicklungsumgebung

Jetzt kostenfreie Newsletter bestellen!