Forum: FPGA, VHDL & Co. Frage zu Altera's Avalon Bus


von Jens T. (Gast)


Lesenswert?

Hallo,
habe eine VHDL Komponente geschrieben die ich nun an einen Nios II 
anbinden möchte. Ich habe hierzu ein einfaches Memory Mapped 
Avalon-Slave Interface gestrickt, dass über die Signale:
1
write,
2
writedata,
3
read,
4
readdata,
5
address,
6
clk,
7
reset
an den Avalon-Bus angebunden wird. Dieses Interface besitzt nun kein 
waitrequest Signal. Ein write kann in einem Clock-Zyklus erfolgen, ein 
read benötigt jedoch drei Zyklen bis valide Daten verfügbar sind. Dies 
habe ich über das 'Read Wait' im Component-Editor eingestellt.

Meine interne Logik reagiert im 'Read' Fall auf eine positive Flanke auf 
der Read-Leitung.
Hierfür habe ich ein zweistufiges Schieberegister implementiert, dass 
bei einem Inhalt von '01' mir einen low-to-high Signalwechsel anzeigt 
auf den nun mein interner Kontroller reagiert.

Ein Problem würde nun 'permantenter read' darstellen, d.h. das read 
Signal wäre für eine gewisse Anzahl von Zyklen high und würde somit 
permanent lesen.

Kann in meinem Fall, d.h. bei meiner oben beschriebenen 
Interface-Deklaration, ein solcher 'burst-read' auftretten, wenn ich 
software-seitig mehrmals hintereinander lesend auf diese Komponente 
zugreife ???

Gruss,
Jens

von J. S. (engineer) Benutzerseite


Lesenswert?

Theoretisch ja, praktisch allerdings nicht, denke ich, weil der Avalon 
MM ja ebenfalls prozessorseitig der Zeitscheibeneinteilung unterliegt 
und die Zugriffe aufgetrennt werden sollten. Ganz sicher bin ich mir 
aber nicht. In einer Applikation, die mir kürlzich unter gekommen ist 
(ebenfalls NIOS, Linux) habe ich daher ein FiFo eingesetzt, das von 
Streaming auf MM umsetzet, um jegliche Probleme mit den Zugriffen (da 
von Aussen) zu unterbinden.

Das Ganze ist aber extrem NIOS-spezifisch, daher solltes Du lieber im 
Alter Forum im NIOS-Bereich fragen.

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.