www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Risc-Processor mit 2 Clocks.


Autor: Dietmar (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
als Anfänger in Sachen fpga möchte ich den RISC-Prozessor von
dem diesjährigen Turing-Preisträger Charles P. Thacker umsetzten und
ein wenig damit spielen.
Siehe hier: 
http://www.bottomup.co.nz/mirror/Thacker-A_Tiny_Co...

Nur benutzt er zwei Clocks mit unterschiedlichen Phasenlängen und
schreibt dazu:

"
The machine executes instructions in two phases (Ph0 and Ph1). This is 
unlike
essentially all modern computers, which use pipelining to improve 
performance. The
phases are different lengths, since during phase 0, we only need to 
access the IM, while.....
"
- weiteres hat er leider nicht dokumentiert.

Hat jemand ein Idee wie ich diese Phasen umsetzen muss?

Autor: melt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Seite weiter steht doch noch mehr dazu in welche Phase was gemacht 
wird...

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmmmmh,
ich sehe nur im verilog-code:

// the Phases. They are asymmetric -- see .ucf file
BUFG ph0Buf(.I(Ph0In), .O(Ph0)); //this is Xilinx - specific
BUFG ph1Buf(.I(Ph1In), .O(Ph1));

einfach Pho und Ph1 im ucf-File setzen? Aber wie? Er schreibt von 
unterschiedlicher Phasenlänge.

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn's schon unbedingt mit den kranken Phasen sein muss (klingt nach 
70er-Jahre Design...), mach die doch intern im FPGA aus einem 
schnelleren externen Takt. Beispielsweise mit einem damit laufenden 
3Bit-Zähler. phi0 ist dann 1 von 0 bis 3, phi1 von 3 bis 6 oder so 
ähnlich.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit welchem FPGA arbeitest du?
Xilinx hat so genannte DCMs. Diese sind in der Lage aus einem 
Eingangstakt einen phasenverschobenen Ausgangstakt zu liefern.

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg A.
ich habe auch gelesen das mehrere Clocks 'böse' sind - nur, Mr. Thacker 
ist nicht irgendwer, schau mal in wikipedia.
Das mit dem Zähler werde ich gleich mal versuchen - danke!

@ich
Ist ein Nexys2 mit Spartan3e, DCMs sind mir neu, schaue ich mir an.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehrere Clocks sind nicht böse, man muss aber halt einen sauberen 
Taktdomänenübergang bauen.

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist es nicht ganz so schlimm, da die beiden Phasen ja synchron 
sind. Solange setup/hold eingehalten wird, ist das kein Problem. Aber 
die Nutzung von zwei Phasen ist inzwischen ziemlich ungewöhnlich, einer 
der letzten CPUs, die das gemacht haben, war afaik ein Ultrasparc Ende 
der 90er. Früher war das mehr verbreitet, weil damit normale Latches 
statt flankengesteuerten FFs möglich waren. Das hat dann viele 
Transistoren gespart...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg A. schrieb:
> einer der letzten CPUs, die das gemacht haben,
> war afaik ein Ultrasparc Ende der 90er.
Das angesprochene Design stammt aus dem Jahr 2007...  :-o
Zum Glück schreibt er aber, das sein Design nicht wie moderne Computer 
funktioniert:
 This is unlike essentially all modern computers ...
Da darf man sich schon fragen, warum alle anderen das anders machen... 
;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.