www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Wishbone für Dummies?


Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hier liest man ja immer davon, dass man möglichst "synchron" arbeiten 
soll. Wenn man nun aber die Wishbone Dokumentation liest, dann wird da 
wohl asynchrones Design (die Taktflanken sind nur für das "Latchen" der 
Eingangssignale zuständig) bevorzugt.

Am Ende werden dann noch die "WISHBONE Registered Feedback Bus Cycles" 
beschrieben, die wohl auch die Ausgangssignale "takten", dafür dann aber 
mehr Signale benötigen.

Was ist besser (ich denke mal letzteres- dennoch benutzen die meisten 
Designs ja Wishbone Classic und dann auch manchmal ohne "CYC_I", was 
laut der Doku ein "must have" ist)?

Verwirrt,
Heiko

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, daß das ein bischen ein wunder Punkt in der 
Wishbonedefinition ist. In der aktuellen (?) Doku (B3) sind ja selbst 
die im Anhang angeführen Bespiele nicht wb-konform.

Irgendwo in der Doku gibt es m.E. eine Tabelle, die die erreichbaren 
Übertragungsraten zwischen registered und unregistered Zugriff 
auflistet.
Die Frage ist also, ob Übertragungsrate/Latenz ein Problem für Dich 
darstellt.

Das mit dem CYC_I hängt eher von Deiner Topologie ab. Wenn Du ein 
WB-Arbiter im Sysstem hast, würde ich CYC_I unbedingt 
verwenden/einbauen.

Duke

Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also nach 20 mal lesen wird es etwas klarer...
Also das ist das schlimmste "Datenblatt" was ich bis jetzt gesehen habe.

Was ich aber immer noch nicht verstehe ist Seite 69 in der B3
During cycle-3 the MASTER initiates a second cycle, addressing
the same SLAVE. Because the SLAVE does not know in advance it is being addressed again,
it has to negate ACK_O.

- warum muss der Slave ACK_O runterziehen? Er weiß doch durch das STB- 
Signal, dass er gemeint ist.

Autor: Heiko L. (drcaveman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heiko L. wrote:

> - warum muss der Slave ACK_O runterziehen? Er weiß doch durch das STB-
> Signal, dass er gemeint ist.

Ok, das weiß ich jetzt. Der Slave kann ja nur bei steigender Flanke 
ACK_O ändern, wenn bei der nächsten steigenden Flanke aber STB_I schon 
(asynchron) auf low gesetzt wurde (oder dann erst synchron vom Master 
gesetzt wird), dann ist es zu spät und ACK_O ist aktiv während STB 
inaktiv ist- das wäre wohl gegen die Regeln- also darf man, wenn man 
synchron arbeiten möchte, ACK_O wirklich immer nur für einen Takt 
setzen. Oder man benutzt halt die zusätzlichen Signale...

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.