Open Source Prozessor Leon2

Post on 01-Jan-2016

46 views 0 download

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

Open Source Prozessor Leon2

Peer Royla und Marco Siebert

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

Überblick

Grundlagen Konfiguration Synthese Simulationstools Assembler Programmierung

Grundlagen

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

Beruht auf SPARC V8 Architektur Fehlertoleranter LeonFT

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

Übersicht Leon2

Quelle L3

Ü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

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

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

Quelle: L1

Konfigurations-Details

Integer UnitMUL/DIV Befehle

Komplexität Multiplizierer Memory Controller

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

Konfigurations-Details

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

Setzen von Hardware WatchpointsBreakpoint-Befehl im CodeSteigende Flanke Externes Signal

LeonFT

Quelle L2

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

Symulationstool GRMON

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

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

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

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.

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

ENDE