1 / 19

Open Source Prozessor Leon2

Open Source Prozessor Leon2. Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse. Überblick. Grundlagen Konfiguration Synthese Simulationstools Assembler Programmierung. Grundlagen. Open Source VHDL-Core www.Gaisler.com Lesser GNU Public License (LGPL)

Télécharger la présentation

Open Source Prozessor Leon2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse

  2. Überblick • Grundlagen • Konfiguration • Synthese • Simulationstools • Assembler Programmierung

  3. Grundlagen • Open Source VHDL-Corewww.Gaisler.comLesser GNU Public License (LGPL) • Beruht auf SPARC V8 Architektur • Fehlertoleranter LeonFT

  4. Übersicht Konfiguration • Allgemeine oder spezielle FPGA´s • 2-32 Registersätze • Integer Unit • optional FPU-Schnittstelle • Coprozessor-Schnittstelle • MMU Memory Management Unit • Debug Support Unit • AMBA-Bus (AHB/APB)

  5. Übersicht Leon2 Quelle L3

  6. Übersicht Konfiguration • Memory Controler • 2ter IRQ-Controler • Watchdog • AHB-Onchip RAM (max. 64kB) • OpenCores Ethernet-Schnittstelle • PCI-Interface (target only) • Booten von Intern oder Extern

  7. Konfigurations-Details • Cache Einstellung für Instruction- und Data-Cache 1-4 Assoziativ Sets 1-64kB pro Set 16/32 Bytes pro Line Replacement über Random/LRU/LRR

  8. Konfigurations-Details • Registersätze des SPARC 8 GLOBAL  globaler Speicher 2-32 Sätze á 8 LOCAL  lokaler Speicher 8 IN/OUT  Datenschnittstellen Aufbau wie ein Ring über Modulo n Zähler

  9. Quelle: L1

  10. Konfigurations-Details • Integer UnitMUL/DIV Befehle Komplexität Multiplizierer • Memory Controller8bit oder 16bit Bus PROM 512MBSRAM 1GBSDRAM-Controller 1GB

  11. Konfigurations-Details • Debug Support UnitAnsteuerung PCI-Bus oder DCL(Debug Communication Link) Setzen von Hardware WatchpointsBreakpoint-Befehl im CodeSteigende Flanke Externes Signal

  12. LeonFT Quelle L2

  13. Synthese • Cygwin wird benötigt um Linux-Tools unter Windows laufen zu lassen. • Konfigurieren des VHDL-Codes per Make-Funktion make xconfig • Xilinx Vorstellung des SourceCodes • Modelsim

  14. Symulationstool GRMON • GRMON-EvalArbeiten über die KonsoleMit Grafischem Interface in Eclipse-eingeschränkte Einstellmöglichkeiten

  15. Assembler Programmierung(1) • Arbeitsschritte um ein C-Programm in Assembler zu optimieren 1. sparc-elf-gcc name.c -o name.bin 2. GRMON benutzen um Anfang und Ende zu bestimmen

  16. Assembler Programmierung(2) 3. Mit Hilfe einer Batchdatei im GRMON disassemblieren 4. Code analysieren und mit Text-Editor optimieren 5. sparc-elf-gcc -N -Ttext=0x40000000 -nostartfiles file.S -o name.bin

  17. Assembler Programmierung(3) • 6. Gleich das C-Programm mit sparc-elf-gcc –O2 –o name.out name.binKompilieren spart die ganze Arbeit. • Der kleinste und schnellste Code wird vom Compiler erstellt.

  18. Quellen • L1 sparcv8.pdf www.gaisler.com • L2 www.estec.esa.nl/wsmwww/mpd2004/leonumc-mpd2004.pdf • L3 www.gaisler.com • L4 http://groups.yahoo.com/group/leon_sparc/ • L5www.cygwin.com

  19. ENDE

More Related