Hallo zusammen, ich habe soeben im Rahmen eines Studienprojekts erfolgreich eine Opensource Softcore CPU auf dem Xilinx Spartan-3 FPGA Board implementiert. Verwendet habe ich hierfür die 32-Bit ZPU (erhältich auf opencores.org). An diese ist ein Wishbone-Bus angeschlossen, über den Peripherie-Geräte angeschlossen werden können. Bereits angeschlossen ist eine UART, ein Interrupt-Controller, ein SRAM-Controller (für einen der beiden onboard-SRAM-Chips), ein Controller der die Onboard-LEDs/-Schalter/-Taster/-7-Segment-Anzeigen steuert, eine einfache PS/2-Schnittstelle und ein VGA-Controller, der die Funktion der VGA-Schnittstelle demonstriert. Des Weiteren habe ich als Bericht ein Tutorial erstellt, dass die Inbetriebnahme dieses Projekts auf dem Board relativ leicht und schnell ermöglicht, sowie auch das Anbinden weiterer Peripheriegeräte erläutert. Da ich dieses Projekt natürlich nicht nur für mich geschrieben habe, würde ich es gerne der Mikrocontroller.net-Community zur Verfügung stellen und bin auch jederzeit offen für Fragen oder Support. Ich bin mir nur nicht sicher, an welcher Stelle ich das Projekt inkl. Tutorial hier auf Mikrocontroller.net einstellen kann/darf. Insofern bin ich über Tipps sehr erfreut. Ansonsten kann ich das Projekt natürlich auch jedem per Mail schicken. Wenn jemand genauere Details dazu wünscht, einfach fragen! Gruß.
Hallo, ich habe starke Interesse daran! Damit kann ich mein altes T80 (Z80 mit VHDL) gegen was schnelleres ersetzen! Mein E-Mail: ilovespeccy[et]speccyland[punkt]net MfG
Hi, freut micht. Ich schicke dir ein ZIP-File, dass den Bericht enthält (PDF), die ZPU mit allen nötigen Dateien (und einem funktionierenden Projekt für Xilinx ISE WebPack 10.1) und einem Ordner future_use (dieser enthält eine funktionierende PS/2-Schnittstelle für das Board Spartan-3, einmal für Tastatur und einmal für Maus, hatte nur bisher keine Zeit, dass zu implementieren). Wie gesagt, das Projekt wurde für das Spartan-3 von Xilinx erstellt, dementsprechend wurde auch das Projekt mit einer Xilinx-Umgebung erstellt. Ich weiß nicht, was du nutzt, aber die VHDL-Dateien sollten relativ leicht portabel sein. Anpassen muss man dann auf jeden Fall das UCF-File, dass die Signale auf die FPGA-Ports mapped. Des Weiteren macht jeder Entwicklungsumgebungshersteller sein eigenen "Mist", was das Füllen der BlockRAMs mit Programm angeht - ich weiß nicht, was du da benutzt. Im Zweifelsfall einfach nochmal melden. --> das ZIP-file ist etwa 5 MB groß, dein Email-Postfach kann das? Gruß
Ich hatte mir die ZPU auch mal angeschaut. Mich hat die Rechenleistung nicht überzeugt. Es ist eine Stackmaschine. Der Datendurchsatz ist dadurch gering, da die Daten mehrfach umgestapelt werden. >>The medium version provides aprox. 2.6 DMIPS @ 50 MHz and the small 0.5 >>DMIPS @ 50 MHz. Das sind 0,05DMIPS pro MHz Die Größe ist ein Vorteil der ZPU. Der Plasma Mips Core ist momentan mein Favorit mehr Datendurchsatz. Laut Angaben soll der Plasma Core auf 0,5DMips pro MHz kommen. Das ist deutlich mehr. Für Mips gibt es auch bereits den GCC. Ich würde deine Arbeit mir auch gerne anschauen, da ich bei der Mips auch gerade Probleme habe, wie ich den externen RAM als Programmspeicher nutzen kann. Es kann auch ein Denkproblem sein. Beim Anschalten ist der exteren Ram leer. Also muss ich den Programmcode im Flash vorhalten und mir einen Bootloader bauen, der aus dem Flash in den Ram die Daten kopiert. Oder wie realisiert man das im FPGA? Ich habe auch keine Erfahrung mit dem Microblaze.
Hallo René, das stimmt, dass die ZPU nicht besonders schnell ist. Aber erstens bietet das Spartan-3 Board sowieso nicht viel mehr und zweitens liegt der Vorteil bei der ZPU darin, dass sie besonders klein und "platzsparend" ist und trotzdem eine 32-Bit CPU ist. Aber darüber kann man sich natürlich streiten. Des Weiteren ist sie aufgrund ihrer Einfachheit relativ leicht zu implementieren, gerade wenn man wie ich, neu in VHDL und FPGA-Programmierung (bzw. Konfigurierung ;) ) ist. Ich möchte deine Hoffnungen nicht zerstören: aber als Programmspeicher nutze ich den (internen) BlockRAM des FPGAs. Was ich gemacht habe, ist den SRAM, der auf dem Board ist, als weitere Peripherie mitanzubinden. Man könnte natürlich einen Bootloader schreiben, was deine Idee ist und darüber aus dem Flash die Daten in den SRAM schreiben. Der Bootloader würde dann im BlockRAM stehen und nachher die CPU auf den SRAM umschalten. Aber warum willst du nicht den internen BlockRAM als Programmspeicher nutzen? Das ist sehr viel schneller, da du nicht aus dem FPGA raus, zum SRAM und dann wieder zurück in den FPGA musst. Weiterer Vorteil vom BlockRAM ist, du kannst dir den Bootloader sparen: du schreibst beim Konfigurieren deines FPGAs, was du sowieso bei jedem "Neustart" machen musst einfach deinen BlockRAM gleich mit voll - du legst also quasi in einem VHDL-File deinen Programmcode mit ab. Wenn du mir eine Emailadresse gibst, kann ich dir das Projekt schicken (5MB als ZIP-File)
Die ZPU ist wirklich arg langsam, dafür aber als Lernobjekt sehr nützlich - und auch für ernsthafte Anwendungen, die wenig Rechenleistung benötigen. Dank der kleinen Größe passen 98 Cores auf ein XUPV5-LX110T :-). Ein Tutorial dazu fände ich auf jeden Fall nützlich, das sollte gut zu den sonstigen hier veröffentlichten Artikeln (schau mal unter "Artikelübersicht") passen. Der Plasma MIPS läuft ganz gut, auch wenn früher so einige Bugs hatte. Steve Rhoads ist aber fleißig dabei, sie zu beheben. In der Klasse ist evtl. auch noch der mb-lite interessant. Ich denke, dass die PDP11 heutzutage einen guten Embedded Controller abgeben würde - vielleicht ist das PDP 11/70-Projekt auf opencores (http://opencores.org/project,w11) ja interessant. Läuft auf einem Nexys2-Board hier problemlos. Alternativ ist vielleicht auch einer der MSP430-Cores interessant. Die sind allerdings alle in Verilog implementiert.
Die ZPU ist nicht nur sehr langsam pro MHz, sondern auch so schlecht kodiert, dass nur sehr bescheidene Taktraten möglich sind. Laut Timinganalyse hat die ZPU eine Maximalfrequenz < 20 MHz auf einem schnellen Stratix II - ein Armutszeugnis finde ich.
Ich find das Projekt super und würde es mir auch gerne ansehen. manuel.kampert [et] googlemail [punkt] com Man sollte das ganze Projekt nicht wegen der vielleicht etwas langsamen ZPU in Frage stellen. Immerhin wird hier weit mehr geboten als eine CPU. So komplett habe ich noch nichts im Netz gefunden. Viele Grüße Manuel Kampmert
Hi, schön, dass nicht alle mein Projekt sch* finden... Nur noch mal als Hinweis: Als VHDL- und FPGA-Neuling ist es erst mal egal, in welcher Quali das kodiert ist und wenn du eine supertolle willst, dann kannst du ja auch eine kostenpflichtige z.B. von Altera kaufen - die sollte dann auch gut kodiert sein.
Ich war auch anfangs von der ZPU sehr angetan. Doch dann gab es ein paar Zweifel. Die Lizenz von Plasma gefällt mir besser. The Plasma CPU project has been placed into the public domain by its original author and is free for commercial and non-commercial use. Momentan ist es Hobby. Beruflich kann ich auch meine gesammelte Erfahrung dadurch in einem späteren Projekt nutzen. Das ist mit GPL leider nicht möglich. Außerdem habe ich mein 1000Mbit Lan erfolgreich mit VHDL gecodet. Hierfür suche ich eine Softcpu, die mir die ganzen Netzwerkpakete packen kann und auch alles andere quittiert. Hier bin ich auf einen möglichst hohen Datentransfer aus. > Die ZPU ist wirklich arg langsam, dafür aber als Lernobjekt sehr > nützlich - Die Mips eignet sich auch sehr gut als Lernobjekt. Bis jetzt habe ich mit Akkumulator Prozessoren zu tun und konnte auch sehr viel hier lernen. > Dank der kleinen Größe passen 98 Cores auf ein XUPV5-LX110T Bei so vielen Cores möchte ich die Daten nicht sortieren. > Der Plasma MIPS läuft ganz gut, auch wenn früher so einige Bugs hatte. > Steve Rhoads ist aber fleißig dabei, sie zu beheben. In der Klasse ist > evtl. auch noch der mb-lite interessant. Ich habe von DENX die EDK installiert und nutze daraus die GNU Tools. Ich scheitere gerade am Linker. $(LD_MIPS) -Ttext 0 -eentry -Map test.map -s -N -o test.axf opcodes.o Die Option -Ttext ruft das Linkerskript text auf. Oder bin ich da falsch? Diese Datei gibt es leider nicht. Die restlichen Optionen habe ich noch nicht aufgeschlüsselt. Mit Linker Skripte habe ich noch keine Bekanntschaft geschlossen. Aber es ist eben immer mal das erste mal. > Ich denke, dass die PDP11 heutzutage einen guten Embedded Controller kenne ich nicht > MSP430-Cores interessant. Die sind allerdings alle in Verilog > implementiert. Es sollte VHDL sein und mit dem MSP430 hatte ich bis jetzt nicht viel zu tun.
René D. schrieb: > Ich scheitere gerade am Linker. > > $(LD_MIPS) -Ttext 0 -eentry -Map test.map -s -N -o test.axf opcodes.o > > Die Option -Ttext ruft das Linkerskript text auf. Oder bin ich da > falsch? Diese Datei gibt es leider nicht. Nein, -Ttext gibt einfach die Adresse an, an die das .text-Segment (also der ausführbare Code) gelinkt werden soll. Was für eine Fehlermeldung bringt der Linker denn? > Die restlichen Optionen habe ich noch nicht aufgeschlüsselt. -eentry gibt die Startfunktion "entry" an, -Map gibt an, in welche Datei das Speicherlayout (Adressen und zugeordnete Instruktionen/Daten) geschrieben werden soll. -s entfernt alle Debugsymbolinformationen aus dem erzeugten Binary, -N sollte angeben, dass text und data-Segmente les- und schreibbar sind und -o gibt schließlich an, dass die Ausgabedabei "test.axf" heißen soll.
> Nein, -Ttext gibt einfach die Adresse an, an die das .text-Segment (also > der ausführbare Code) gelinkt werden soll. > > Was für eine Fehlermeldung bringt der Linker denn? Danke für dein Aufschlüsselung. Ich muss nächst Woche nochmal schauen, ich bin gerade beim Packen für die nächste Woche. Ich hatte das Text Segment auch in Verdacht, hatte in der Übersetzung für die Option -T Linker skript gelesen.
Besteht noch die Möglichkeit das Projekt als E-Mail zu bekommen? Es würde übrigens am besten hier reinspassen: Artikelübersicht -> FPGA & Co. -> FPGA-Projekte Viele Grüße Manuel
Hi, ja klar, die Möglichkeit besteht - lass mir einfach deine Emailadresse zukommen (am Besten als Private Nachricht). Gruß
Autor: René D. (Firma: www.dossmatik.de) (dose) Datum: 19.03.2011 21:15 >Momentan ist es Hobby. Beruflich kann ich auch meine gesammelte >Erfahrung dadurch in einem späteren Projekt nutzen. Das ist mit GPL >leider nicht möglich. GPL schließt keineswegs gewerbliche Nutzung aus -- man muss dann die erweitere Software nur eben wieder ebenfalls als GPL mit Quelltexten verfügbar machen -- und andere dürfen die Software dann ebenfalls wieder unter GPL weitergeben. Für Projekte, wo Betreuung durch den Entwickler und permanente Anpassungen usw. nötig sind, sollte das kein Problem sein.
Hi manuel1139, tut mir Leid, aber deine Mailadresse funktioniert leider nicht... Ich bekomme jedesmal einen Fehler des Mailer-Daemon, wenn ich versuche dir eine Mail an die angegebene Adresse zu schicken. Deswegen frage ich mich, ob du da die privaten Nachrichten, die ich dir geschickt habe überhaupt bekommen hast? Hast du noch eine andere Mail? Gruß
hi Michael Engel kannst du mal unter Beitrag "Mips assembler" schauen? Ich habe für die GNU Tool Chain einen neuen Thread eröffnet, weil es nichts mit VHDL zu tun hat. Ich kann den Beispielcode von Plasma doch kompilieren. Nur habe ich diesen noch nicht in den Softcore eingebunden. Jetzt habe ich mich selbst mit Assembler versucht und das ist noch nicht so klar. für Stefan Salewski (Gast) leider ist die Praxis so. Bevor man ein Projekt bekommt, erhält man einen Mantelvertrag. Darin stehen in der Regel mehrere Punkte. Sinngemäß; Geheimhaltung ist immer dabei und bei Projektende gehen die Rechte an erzeugten Code an den Auftraggeber über. Da scheidet GNU eben aus. Nur dass du mal eine Ahnung hast, wie es in der Praxis gehand habt wird. Ich habe nicht die Projektführung und kann mir nicht die Lizenz für das Gesamtprojekt aussuchen.
Hallo Johannes! Dein Projekt klingt sehr interessant. Ich würde es mir geren anschauen. Meine Email dazu lautet: fpga.project[et]gmx.at Danke Christian
Hallo zusammen, ich habe soeben einen Artikel über meine Arbeit hier auf der Seite online fertiggestellt. Dort kann auch das Projekt plus Dokumentation heruntergeladen werden. http://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA Viel Spaß damit. Grüße, Johannes
Vielen Dank, das sieht sehr gut aus. Und gerade für Einsteiger schön bebildert :-) Ich hab es nur kurz überflogen, dabei mir ist das hier (unangenehm) aufgefallen:
1 | use IEEE.STD_LOGIC_ARITH.ALL; |
2 | use IEEE.STD_LOGIC_UNSIGNED.ALL; |
Siehe dazu u.A. hier: Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete" Duke
Hallo Duke, zu meiner Verteidigung: das wusste ich nicht, da ich noch Neuling bin. Das es herstellerabhängig ist, wäre in diesem Fall jedoch sowieso relativ, da die Geschichte mit dem Programmspeicher in das auf den zu FPGA ladende Bit-File sowieso auch in der Form nur von Xilinx angeboten wird, also auch wieder herstellerabhängig ist. Ich werde mir das mal genauer anschauen, danke für den Hinweis! Johannes
Hallo Duke, ich habe mir mal den Artikel angeschaut und auch die Links auf die anderen Artikel, wie http://www.mikrocontroller.net/articles/Rechnen_in_VHDL#Schlecht:_Direktes_Rechnen_mit_std_logic_vector Hier wird ja gesagt, man soll nicht direkt mit dem Typ std_logic_vector rechnen. Ich bin der Meinung, dass ich das im großen und ganzen auch vermieden habe und stattdessen den Typ unsigned oder signed aus numeric_std verwendet habe (s. auch das Beispiel in folgendem Kapitel in meinem Artikel: http://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA#Inbetriebnahme_von_Board_und_Entwicklungsumgebung) Ja, ich habe da die "verbotenen" Bibliotheken eingebunden, das hatte den Grund, dass wenn ich ein neues VHDL-File anlege, diese automatisch mit drin waren und ich mir nicht sicher war, ob ich die brauche.
Hi Johannes, falls es Dich interessiert, ich habe deinen Setup mal aufgebohrt für JTAG-Debugging, d.h. Debuggen geht jetzt analog wie im Simulator auch auf der Hardware per gdbproxy. Man muss den Kram nur jeweils an seinen Lieblings-JTAG-Adapter anpassen (der vorerst noch per Expansionsport angeschlossen wird). Am Debuggen per Xilinx-JTAG (mit dem Cypress Chip) wird noch gearbeitet, das geht im Prinzip über die BSCAN Xilinx-Primitiven. An dieser Stelle übrigens noch ein DANKE für Deine Komplettrelease, lief ohne Murren auf dem Spartan3 Starterkit. Nur beim VGA-Modul solltest du mal auf die "Clock Skew"-Warnings achten :-) Gruss, - Strubi
Hi Martin, ja, hört sich echt interessant an... Bisher war das mit dem Debuggen ja nicht so einfach bzw. ich habe es gar nicht gemacht ;) Wenn du Lust hast kannst du die Erweiterung ja als weiteres Kapitel hier auf der Seite mit einem entsprechenden Download fortführen: http://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA Ja, mit dem VGA-Modul hatte ich mich erst ganz zum Schluss beschäftigt, sprich hatte nicht mehr viel Zeit mich damit zubeschäftigen/einzuarbeiten, dementsprechend ist die Quali relativ ;) aber als Einstieg ist es sicherlich trotzdem in Ordnung. Danke und freut mich, dass es dir gefällt, Johannes
Martin S. schrieb: > falls es Dich interessiert, ich habe deinen Setup mal aufgebohrt für > JTAG-Debugging, d.h. Debuggen geht jetzt analog wie im Simulator auch > auf der Hardware per gdbproxy. Man muss den Kram nur jeweils an seinen > Lieblings-JTAG-Adapter anpassen (der vorerst noch per Expansionsport > angeschlossen wird). Am Debuggen per Xilinx-JTAG (mit dem Cypress Chip) > wird noch gearbeitet, das geht im Prinzip über die BSCAN > Xilinx-Primitiven. Klingt interesant. Hat du dazu noch mehr Info! Welchen gdbproxy hast du genutzt? Und wie hast du den JTAG Slave eingebunden? Es sind zwei Teilaufgaben zu lösen. Oder ist bereits der Code Bestandteil der ZPU?
Hi Otto, > > Klingt interesant. > Hat du dazu noch mehr Info! Erst mal nur das: http://tech.section5.ch/news/?p=101 > > Welchen gdbproxy hast du genutzt? > Im Prinzip einen Fork vom msp430-gdbproxy, der mit div. Target backends aufgebohrt wurde und einen schmalen "zpuemu" library layer aufruft. > Und wie hast du den JTAG Slave eingebunden? > > Es sind zwei Teilaufgaben zu lösen. Oder ist bereits der Code > Bestandteil der ZPU? Gerade erst gab's einen Fork mit der experimentellen ICE-Erweiterung: http://repo.or.cz/w/zpu.git/commit/91e13ae045ee76c25b8883013d386beab3cb8086 Da findest Du die Details zur Anbindung an den Core. Gruss, - Strubi
Hallo Johannes, Ich interessiere mich über dein Studiumarbeit Projekt. Ich möchte ein MPSoC auf ZPU aufbauen. Zuerst möchte ich dein Projekt über mein Nexys3 Spartan6 FPGA ausprobieren. Dafür muss ich die .bmm Datei ändern. Ich würde dein ganze Projekt verstehen aber das Problem ist, dass ich nicht so gut Technische Deutsch verstehen. Es wäre super, wenn ich mehr Information auf Englisch bekommen. Bitte sag mir die Möglichkeit. Grüße, Piyush
Hello Piyush, there exists no proper English version of this work - in the project description in German (see link above in this forum) is a link to the English partner embdev.net: http://embdev.net/articles/ZPU:_Softcore_implementation_on_a_Spartan-3_FPGA I startet there with an English translation - unfortunately there are still some chapters missing... Have a look at it, the English is worse but I hope it helps you a little. I try to finish the English translation in between. Cheers
Hi Johannes, I read the Englisch version. I understood the translated text portions but again many more important things were missing. It will be great once if you can make the documentation fully available in English. Will help many users :) grüße, Piyush
Hi, I don't really know what you mean by many more important things are missing. My project - and also the mentioned tutorial - is including the following steps: - get the ZPU small running on the Spartan-3 - add a Wishbone bus to the ZPU - add existing components to the Wihsbone bus - add own components to the Wishbone bus - program the ZPU by writing software in C (e.g. to control the components that are connected to the ZPU) The English translation will be finished this evening - maybe someone else who's technical English concerning these topics is better then mine, can correct it a little? Cheers
Habe/werde es mir anschauen und verbessern soweit ich kann.
Hi Johannes, Thank you so much for the translation to english, I was able to understand the overall project easily and implemented the same on my FPGA. Additionally, I have 2 questions: 1.I tried the BRAM primitive RAMB16_S2_S2 to create a 32KB BRAM module to be used with Zealot version of ZPU. But on loading the .elf and making necessary signal data type changes (like typecasting from UNSIGNED to STD_LOGIC_VECTOR) at appropriate places, I did not get any output over my Serial Terminal. 2.I want to run AES algorithm on my Zealot ZPU and test its performance by running the encoding algorithm 1000-10000 times and calculating the no. of clock cycles or time elapsed during the process. How to deal with a timer module to send me the values of the mentioned quantities when the process runs on my ZPU? Can you suggest me some way to deal with the above problems? Grüße, Piyush
Piyush K. schrieb: > 1.I tried the BRAM primitive RAMB16_S2_S2 to create a 32KB BRAM module > to be used with Zealot version of ZPU. But on loading the .elf and You must convert the .elf to an .bin file:
1 | zpu-elf-objcopy --strip-debug --discard-locals -O binary file.elf file.bin |
Use the content of the .bin file to fill the BRAM. > making necessary signal data type changes (like typecasting from > UNSIGNED to STD_LOGIC_VECTOR) at appropriate places, I did not get any > output over my Serial Terminal. At first try to blink an LED, than serial communications. Duke
Hi Piyush, I'd recommend to write "vendor independent" RAM code that can be simulated AND synthesized by ISE into dualported Block RAM. The Zealot code is very "relaxed" written with respect to timing issues, we've made the experience that there are no surprises when moving from simulation to real world. So I'd recommend to verify the simulation first. There are some funky things that can be done with GHDL (we use it to virtualize the entire SoC including JTAG debug ports, such that GDB can talk to it). Cheers, - Strubi
Hallo Everyone, Thank you so much for your feedback to my previous question. I have one further question. The modified zpu_core used in the project by Johannes contains an option to configure the ZPU with multiple NUMBER OF CORES as given in the file "softcore_config.vhd". Can we actually obtain this multicore functionality by simply changing the parameter in the config file? If YES, also how is the inter-core communication established? Grüße, Piyush
Hi Piyush, generally, you'd reserve some chunk of "L2" dual ported blockram that two CPUs can simultaneously access (except for simultaneous writes, you'd have to arbitrate that by either not allowing it or insert wait cycles which can be tricky on some core implementations). Not sure if "numberOfCores" actually does something. Typically, you'd use some "for i in 0 to NUMBER generate label: instance end generate" construct yourself, and declare appropriate array types that you can assign to signals. I've chained a few ZPUs a while ago just for pure academic fun. For competeable dual core apps, the ZPU is not good enough though.
Hi Strubi, Thank you so much for your last reply. I am still working on the dual core implementation and will post here when I get some success or get stuck somewhere. :) On the other hand, I wanted to ask that do the others who have worked on the ZPU have faced this problem with the ZPU external RESET signal? If the RESET button for ZPU is pressed over the FPGA several times, then the ZPU always hangs and gives no further output on the UART. It's the same I have observed while workin on Zealot but not on ZPUino. Did anybody figured out any solution to the above problem? Grüße, Piyush
Hello John, I am new to this group and just joined. I have a request about TAP controller. For you ZPU project on Spartan 3 FPGA did you use any TAP controller state machine deisgn for debugging or single stepping the CPU? If yes can you Please share that TAP controller with me? My email id is ajain17@gmail.com I am starting to put your design onto Spartan 3 FPGA now. I downloaded the design and was wondering if I can get a TAP controller design also. Thanks for your help Amit
Hey Amit, I'm sorry - but I haven't done any debugging...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.