SEm/labore/08 soc

From FSI
Jump to: navigation, search

Contents

Realisierung eines AMBA-SoCs

Einleitung

In diesem Labor werden Sie in einem programmierbaren Schaltkreis ein Prozessorsystem inklusive der in den vorherigen Laboren entwickelnden Peripheriegeräten implementieren. Ein solches System wird Ein-Chip-System (System on Chip (SoC)) genannt.

Serielles Busprotokoll

Der Prozessor führt ein Programm aus, welches das serielle Interface über das Peripheriegerät UART liest und Lese- sowie Schreibzugriff auf den Inhalt des Speichers gibt.

Datenframe

Dieses serielle Protokoll wird auch von Ihren Kollegen der Leistungselektronik für die Steuerung ihrer DSPs verwendet. Jedes Datenframe ist wie folgt aufgebaut:

header: AAh
packet id: Befehlsnummer
cmd: Befehlscode
data length: Anzahl Bytes des Befehls
data: Inhalt des Befehls
checksum: Summe aller Bytes des Befehls, ohne Überträge

Auf jeden Befehl folgt ein Antwortdatenframe, welches in der gleichen Weise aufgebaut ist. Die Antwort kopiert die Nummer und den Code des Befehls, kann aber andere Daten enthalten.

Schreibzugriff auf den Speicher

Um ein 16 bit langes Wort in den Speicher zu schreiben, sieht das Befehlsdatenframe folgendermassen aus:

cmd: 03h
data length: 4
data: addrl, addrh, datal, datah

Die Antwort enthält:

data length: 0
data: none

Lesezugriff auf den Speicher

Um ein 16 bit Wort im Speicher zu lesen, muss das Befehlsframe folgendermassen aussehen:

cmd: 04h
data length: 2
data: addrl, addrh

Die Antwort enthält:

data length: 2
data: datal, datah

Simulation

Die zur Verfügung gestellte Testbank beamerSoc_tb liest und schreibt verschiedene Register des Prozessorsystems.


View-pim-tasks.png

Untersuchen Sie den Inhalt des Blocks beamerSoc und bestimmen Sie an welchen Adressen sich die Register des Kurvenzeichnungsperipheriebausteins befinden.


View-pim-tasks.png

Studieren Sie den VHDL-Code des Stimuli-Generators beamerSoc_tester und erklären Sie die Testsequenz.


View-pim-tasks.png

Führen Sie eine Simulation durch und überprüfen Sie, dass das System richtig funktioniert.

Implementation

View-pim-tasks.png

Synthetisieren Sie das SoC und überprüfen Sie dessen korrektes Verhalten mit einem Oszilloskop.


Navigation
Arrow left.gif 07 Kurvenzeichnungsperipheriebaustein Arrow up.gif Anleitung auf Deutsch 09 Hochgeschwindigkeits-Addierer Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox