Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte...

Post on 06-Apr-2015

102 views 0 download

Transcript of Universität Rostock Fachbereich Elektrotechnik und Informationstechnik Institut für Angewandte...

Universität RostockFachbereich Elektrotechnik und InformationstechnikInstitut für Angewandte Mikroelektronik und Datentechnik

Eine Prozessorarchitektur mit integrierter Debugunterstützung

H. Ploog, J. Hildebrand, T. Rachui

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Agenda

• Prozessorarchitektur

• µC-Debugging

• Modifiziertes JTAG

• Integration

• Zusammenfassung

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Zielapplikationen

I/O-Steuerung:- Portanzahl- I/O-Befehle- Interruptverhalten

Sensorik (SoC):- arithmetische Fähigkeiten- Kennlinienlinearisierung- Kalibrierung- Datenvorkomprimierung

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Architektur

M R EG

M ALU B

M EM

M X Y

X X X X

IP IN C

M IP_1

M IP_2

AR

STIP

ALU

R A MR O M

CU

IR Q

R ESET

C LK

10

1010

412+1

Y

12

RUN 4V 1.2

userdefineable

10

10

M ALU A_1

M ALU A_2

MD

U

10

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Programmiermodell

X 0 X 1 X 2

Y 0 Y 1 Y 2

IP

STACK

I C Z OVN

X 3

Y 3

• optimiert für 4b- und 12b/16b-Operationen

• Verzicht auf separate Adreßarithmetik

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Befehlssatz (Auswahl)

• einstellige ALU-Operationen SHL, RLC, SHR, RRC, (NOT)

• zweistellige ALU-OperationenTEST, CMP, ADC, SBC, AND, OR, XOR

• SKIP-Bedingungeneinfach : Z, NZ, C, NC vorzeichenlos : UGT, UGE, ULE, ULTvorzeichenbehaftet : GT, GE, EQ, NE, LE, LT

• FLAG-OperationenCLI, STI, STC, CLCMOV X0, FMOV F, X0

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Befehls-Mapping (Auswahl)

• Kaum Doppelbelegung von Bitpositionen im Op-Code

0 0 1D-

REGD-

REGALU ALU ALU 0 1

S-REG

S-REGREG+Y

0 0 1SD-REG

SD-REG

ALU ALU ALU 1 0 0 0MonoReg

0 0 1D-

REGD-

REGALU ALU ALU 1 1

S-REG

S-REGRegReg

0 0 0 REG REG 0 0 0 0 0 a1 a0IY-store

0 0 0 0 0 00=C1=I

0=C1=S

1 0 0 0FLAGS

0 0 00=U1=S

M 1 M 0 REF REF 1 0 0 1SKIP

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Entwicklungssystem

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Agenda

• Prozessorarchitektur

• µC-Debugging

• Modifiziertes JTAG

• Integration

• Zusammenfassung

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

µC-DebuggingVerfahren Echt-

zeitKom.-

Interfaceuni.-

EinsatzKosten

Evaluation Board CPU niedrig bis mittel

ICE CPU sehr hoch

ROM-Emulator niedrig bis mittel

Software-Simulator CPU hoch

JTAG-Interface CPU niedrig bis mittel

Mod. JTAG-Interface

niedrig bis mittel

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Agenda

• Prozessorarchitektur

• µC-Debugging

• Modifiziertes JTAG

• Integration

• Zusammenfassung

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

JTAG-Scan I

TAP

Bypass

Inst.-Reg

Core

TDI

TDO

TMS

TCK

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

JTAG-Scan II

TAP

Bypass

Inst.-Reg

Core

TDI

TDO

TMS

TCK

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

modifizierter JTAG-Scan

TAP

Bypass

Inst.-Reg

Core

TDI

TDO

TMS

TCK

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

JTAG Modifikationen

Aufgaben

Decodierung der

Befehle

Auswahl des aktuellen

Datenregisters Generierung der

Steuersignale für das aktuelle

Datenregister

Schalten des „clk-enable“

Signals

Reset des Core-

Designs

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Funktionen der Hardware

• Zugriff auf► Register, Stack, Instruction-Pointer

• Lesen und Verändern der Flags• Setzen eines HW-Breakpoints• Einzelschritt-Modus (OpCode und Takt)• Lesen und Schreiben von RAM und ROM

(/RAM)• Ausführung beliebiger Instruktionen

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Agenda

• Prozessorarchitektur

• µC-Debugging

• Modifiziertes JTAG

• Integration

• Zusammenfassung

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Realisierung

ROM RAM

ALU

INC

+1

Register BRegister A

IP-Register

TDI

TDO

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

mod. design flow

VHDL

Simulation

Synthese XILINXBack-annotation

spezielle Library Skripte Target

Library

Institut für Angewandte Mikroelektronik und Datentechnik

Universität Rostock, Fachbereich Elektrotechnik und Informationstechnik

Zusammenfassung

• parametrierbarer VHDL-Core RUN4

• Einsatz von modifiziertem JTAG für on-target-realtime-Software-Debugging

• automatische Integration in den design-flow