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
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.
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.
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 :)
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
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