www.mikrocontroller.net

Forum: FPGA, VHDL & Co. CPU im FPGA Pins toggeln mit voller Geschwindigkeit?

Autor: Christopher Bock (chris_muc)
Datum: 30.07.2007 20:37

Hallo,
mit Microcontrollern gibts ja immer wieder das Problem, dass sie ihre IO
Pins nicht mit voller Frequenz toggeln können. Wie sieht das bei CPUs in
PLDs aus? Können dieses mit voller Frequenz toggeln? Müssten sie ja
eigentlich, weil das ist es doch gerade für was sie gemacht sind. Oder
stelle ich mir das gerade viel zu einfach vor?
Gruß
Chris
Autor: FPGA Spezialist (Gast)
Datum: 30.07.2007 20:42

Ja, aber mit Systemtakt arbeiten, heisst immer mit hoher relativer
Verzögerung. Je nach Realistation kriegst Du clk-Probleme beim Routen
oder "analoge" Taktprobleme beim Betrieb durch den belasteten clock!

Die Lösung heisst DDR-Zellen: Ein dual data rate Zelle mit Belegung 0
und 1, welche die 1 bei steigender Flanke und die 0 bei fallender Flanke
ausgibt. Dann kriegst Du deinen Systemtakt mit geringer Verzögerung nach
draussen.
Autor: Matthias (Gast)
Datum: 31.07.2007 01:21

Das kommt auf die CPU drauf an und wie die IOs daran angebunden sind.
Bei einem Microblaze System sind die IOs z.B. über den OPB Bus
angebunde. Der  läuft zwar theortisch mit voller CPU Frequenz,
allerdings gibts ein Delay von so einigen Taktzyklen bis die
Bustransaktion komplett ist. Also auch nix mit voller Geschwindigkeit.

Am ehesten dürfte sowas noch bei den simpelsten Prozessoren (z.B.
Picoblaze) gehen, die kein Businterface verwenden.
Autor: Christopher Bock (chris_muc)
Datum: 31.07.2007 08:44

Ich dachte bisher eher an einen der Z80 Cores von opencores.org. Mit
Picoblaze und konsorten habe ich mich noch nicht auseinander gesetzt.
Werd ich mal nachhernen bisschen googln :) Danke schonmal für die Infos
ihr beiden :)
Autor: Falk Brunner (falk)
Datum: 31.07.2007 11:47

@ Christopher Bock (chris_muc)

>mit Microcontrollern gibts ja immer wieder das Problem, dass sie ihre IO
>Pins nicht mit voller Frequenz toggeln können. Wie sieht das bei CPUs in
>PLDs aus? Können dieses mit voller Frequenz toggeln? Müssten sie ja

Was heisst volle Freqeunz? Die, mit der die CPU läuft oder die, die das
FPGA physikalisch schafft?

>eigentlich, weil das ist es doch gerade für was sie gemacht sind. Oder
>stelle ich mir das gerade viel zu einfach vor?

Wie bereits von den anderen Postern geschrieben, dauern die Zugriffe auf
IO über die Busse doch einige Takte. Die Busse sind halt auf hohen
Durchsatz getrimmt, nicht auf niedrige Latenz. Aber in einem FPGA wird
man sinnvollerweise NICHT irgendwelche Soft-UART/SPI/Whatever Sachen
machen. Dafür gibts ja schliesslich das FPGA! Das kann wunderbar mit
kleinen Modulen die diversen Schnittstellen mit höchsten Taktraten
bedienen. Das Bitgeklimper macht dann das Modul und meldet nach
erfolgreicher Übertragung sich per Interrupt bei der CPU, die dann
fertige Datenbytes bzw. Blöcke vom Modul transferiert.

MFG
Falk
Autor: Heinz (Gast)
Datum: 02.05.2008 23:57

>Die Lösung heisst DDR-Zellen: Ein dual data rate Zelle mit Belegung
>0 und 1, welche die 1 bei steigender Flanke und die 0 bei fallender
>Flanke ausgibt.

>Dann kriegst Du deinen Systemtakt mit geringer Verzögerung nach
>draussen.

Macht das soviel aus? Man muss ja auch den Weg von den DDR-Zellen zum
IOB berücksichtigen, oder nicht ?

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net