Simpler Avaloon Slave

OP #3259515
Hallo,

ich suche jetzt schon länger nach einer passenden Lösung, aber bei 
einigen Vorschlägen fehlt mir das Verständnis, oder ich schaffs nicht 
aufs Gleis zu kommen.

Ich habe ein CycloneIII mit einem Logikteil und einem NIOS-SoC. Ich 
möchte ein in der Logik implementiertes FIFO lediglich lesend 
ansprechen, so daß bei jedem Lesen auf eine Adresse vom Nios auch ein 
FIFO-Readstrobe erzeugt wird. D.h. eigentlich Funktion wie ein 
GPIO-Input, nur eben zusätzlich der Readstrobe. Eine zweite Adresse in 
diesem Interface würde ich mir so gestalten daß dort der FIFO-Füllstand 
vom NIOS abgelesen werden kann. Letztlich klingt das nicht nach 
besonders komplizierter oder aufwendiger Logik.

Ich denke es geht über die Custom Device von QSYS. Wie kann ich hier ein 
Template erstellen, welches ich dann selbst mit Code füllen kann.
Oder gibt es irgendwo schon ein simples Beispiel für ein eigenes Device 
am Avalon-Bus?

Zweite Möglichkeit erscheint mir die QSYS-Komponente "On-Chip FIFO 
Memory", aber auch hier habe ich Verständnisprobleme wie man die externe 
Logik anschließen kann. Es erscheint mir hier aber etwas aufweniger zu 
sein, denn - richtiges Verständnis vorausgesetzt - hat dieses FIFO auf 
der Nicht-NIOS-Seite wohl Avalon-Eigenschaften, die man nachbilden muß.

Danke schon jetzt für eure Hilfe.

Günter
OP #3260309
Hallo,

danke, das hat geholfen.

* Das Wichtigste: die Signale in Richtung Logik sind alle als 
conduit_end zu definieren

* Im "Interface"-Tab muß man den dazu passenden Reset eintragen - dafür 
gibt es ein Warning, also das findet man relativ problemlos

* Die Datenbusbreite habe ich aber erst durch manuelles Editieren des 
TCL ändern können. Wo das im Component Editor geht, habe ich nicht 
gefunden

* Das zugrundeliegende VHDL am besten erst dann generieren wenn das TCL 
stimmt. Sobald es Inkonsistenzen gibt, kommt es vor, daß der Component 
Editor zuvor definierte Signale beim Konsistenzcheck wieder löscht

* Im NIOS-System muß man dann die conduit-Signale nochmal extra 
exportieren, das sieht man aber auch gut im QSYS "HDL Example" Tab.

Ciao, Günter

PS: Kann einer der Moderatoren ggf. den Tippfehler im Titel ändern? Ich 
hab Avalon mit zwei 'o' geschrieben. Diese Wildwest-Variante ist noch in 
Entwicklung.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.