Forum: FPGA, VHDL & Co. Taktkontrolle PPC 405 auf Xilinx XUP Virtex 2 pro


von falga (Gast)


Lesenswert?

Hallo,

Wir sind Studenten im Studiengang Informatik an der Universität
Dortmund, Germany. Zu diesem Studium gehört die Teilnahme an einer
2-semestrigen Projektgruppe, in welcher 12 Studenten versuchen ein
komplexes, praktisches Problem zu lösen. Thema unserer Projektgruppe
(http://ls12-www.cs.uni-dortmund.de/v-power/) ist die Entwicklung eines
Speicherhierarchie-Profilers auf dem Xilinx FPGA "XUP Virtex II Pro
Development System", welches den IBM PowerPC 405 nutzt.

Eine Teilaufgabe für uns besteht darin, den Takt des PPCs
kontrolliert stoppen und wieder starten zu können, ohne andere Takte
(u.a. PLB-Takt) zu beeinflussen. Bei unseren bisherigen Versuchen ist
uns dies nicht gelungen. Anhand eines kleinen C-Programms, welches
Signale zum Farbwechsel an die VGA-Schnittstelle sendet können wir
beobachten, dass wir den Takt zwar anhalten (Farbwechsel stoppt), aber
nicht zuverlässig wieder starten können (Farbwechsel stoppt bis zum
FPGA-Reset für immer).


Wir sind mittlerweile recht ratlos und wären für
Ihre Hilfe sehr dankbar. Was ist bei diesem Problem zu beachten? Wie
löst man es?

Im folgenden eine kurze Beschreibung unserer bisherigen Vorgehensweise:

Mit dem BSB wurde ein System bestehend aus PPC, VGA, RS232 und 256MB
DIMM erzeugt. Für das Projekt benutzen wir VHDL.

Über das Clock- und Power Management Interface (CPM) kann der 
Prozessortakt über eine externe Logik kontrolliert werden (siehe UG018 
S. 35 ff.).
Die Möglichkeit die Clock-Zonen über die Global Local Enable Signale zu 
steuern kommt nach unserer Ansicht nicht in Betracht, da wir für unsere 
Simulation eine möglichst präzise Kontrolle brauchen.
Deswegen haben wir uns für die Möglichkeit des Global Gating entschieden 
(stoppt Core- und Timer-Zone). Das Taktsignal zum PPC (Signal an 
CPMC405CLOCK) wurde zunächst vom Ausgang des DCM durch eine 
BUFGCE-Komponente geleitet (S. 71 UG012). Das CE-Signal wurde durch eine 
eigene Logik enabled bzw. disabled (Das Clock-Signal sollte, wenn 
disabled, auf konstant 1 liegen). Ein Taster des Boards dient zum 
stoppen des Taktes, einer zum Starten (Kontrolle des CE-Einganges). 
Durch gleichzeitiges Abgreifen des PLB-IDLE-Zustandes wurde 
sichergestellt, dass ein stoppen nur im IDLE-Zustand des PLB erfolgen 
kann. Statt der beiden Taster, wurden als Alternative auch Tests mit 
einer eigenen Logik (Zählerschaltung) durchgeführt, jedoch ohne Erfolg.




Literatur:

UG012
Xilinx Virtex-II Pro and Virtex-II Pro X
FPGA User Guide
UG012 (v4.1) 28 March 2007

UG018
Xilinx PowerPC 405 Processor
Block Reference Guide
Embedded Development Kit
UG018 (v2.1) July 20, 2005

UG069
Xilinx University Program
Virtex-II Pro Development System
Hardware Reference Manual
UG069 (v1.0) March 8, 2005

DS083
Xilinx Virtex-II Pro and Virtex-II Pro X Platform FPGAs:
Complete Data Sheet
DS083 (v4.6) March 5, 2007

PPCRG
PowerPC Processor
Reference Guide
Embedded Development Kit
EDK 6.1 September 2, 2003

PLBADS
Processor Local Bus (PLB) Arbiter
Design Specification


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.