Open Source Prozessor Leon2

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

description

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) - PowerPoint PPT Presentation

Transcript of Open Source Prozessor Leon2

Page 1: Open Source Prozessor Leon2

Open Source Prozessor Leon2

Peer Royla und Marco Siebert

RST-Labor WS 04/05Prof. Dr.-Ing. Thomas Risse

Page 2: Open Source Prozessor Leon2

Überblick

Grundlagen Konfiguration Synthese Simulationstools Assembler Programmierung

Page 3: Open Source Prozessor Leon2

Grundlagen

Open Source VHDL-Corewww.Gaisler.comLesser GNU Public License (LGPL)

Beruht auf SPARC V8 Architektur Fehlertoleranter LeonFT

Page 4: Open Source Prozessor Leon2

Ü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)

Page 5: Open Source Prozessor Leon2

Übersicht Leon2

Quelle L3

Page 6: Open Source Prozessor Leon2

Ü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

Page 7: Open Source Prozessor Leon2

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

Page 8: Open Source Prozessor Leon2

Konfigurations-Details

Registersätze des SPARC

8 GLOBAL globaler Speicher

2-32 Sätze á8 LOCAL lokaler Speicher8 IN/OUT Datenschnittstellen

Aufbau wie ein Ring über Modulo n Zähler

Page 9: Open Source Prozessor Leon2

Quelle: L1

Page 10: Open Source Prozessor Leon2

Konfigurations-Details

Integer UnitMUL/DIV Befehle

Komplexität Multiplizierer Memory Controller

8bit oder 16bit Bus PROM 512MBSRAM 1GBSDRAM-Controller 1GB

Page 11: Open Source Prozessor Leon2

Konfigurations-Details

Debug Support UnitAnsteuerung PCI-Bus oder DCL(Debug Communication Link)

Setzen von Hardware WatchpointsBreakpoint-Befehl im CodeSteigende Flanke Externes Signal

Page 12: Open Source Prozessor Leon2

LeonFT

Quelle L2

Page 13: Open Source Prozessor Leon2

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

Page 14: Open Source Prozessor Leon2

Symulationstool GRMON

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

Page 15: Open Source Prozessor Leon2

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

Page 16: Open Source Prozessor Leon2

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

Page 17: Open Source Prozessor Leon2

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.

Page 18: Open Source Prozessor Leon2

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/ L5 www.cygwin.com

Page 19: Open Source Prozessor Leon2

ENDE