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


von Heiko L. (drcaveman)


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

von Duke Scarring (Gast)


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

von Heiko L. (drcaveman)


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
1
During cycle-3 the MASTER initiates a second cycle, addressing
2
the same SLAVE. Because the SLAVE does not know in advance it is being addressed again,
3
it has to negate ACK_O.

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

von Heiko L. (drcaveman)


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

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
Noch kein Account? Hier anmelden.