www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Daten vom gleichen RAM aus zwei Modulen lesen/schreiben


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Anfänger (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo,

wie kann man aus zwei Modulen Daten vom gleichen RAM lesen/schreiben?


- RAM ist mit dem IPexprecc generiert und liegt in einr VHDL Datei

- Module 1: ist für die Serielle Kommunikation und für Daten lesen 
schreiben vom RAM.

- Module 2: nach einem Trigger soll eine Adresse vom RAM gelesen werden, 
dann ein Ablauf starten

- Hauptprogramm soll Componenten von Module 1 und 2 instanzieren

wenn ich in beiden Modulen mit "Component RAM..." arbeite, dann sind es 
zwei verschiedene Instanzen?

Wie kann ich das am besten realisiere?

Vielen Dank für die Hilfe

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Nimm einen Dual Port RAM, da kannst du von 2 Seiten aus lesen und/oder 
schreiben.

Autor: Anfänger (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
ja, es ist auch ein DP RAM.

Mein Problem ist das ich nicht weiss wie ich aus zwei getrennten Modulen 
(Unterschiedliche Dateien) auf dem gleichen RAM (Oder RAM 
Instanz)zugreifen kann?

Autor: Bernd S. (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hi,

"Hauptprogramm" :_))))

VHDL /= C++

zur Sache: Wenn du nur ein RAM instanziieren möchtest, dann hänge das 
doch auch im "Hauptprogramm" auf und verbinde es mit beiden Modulen über 
Signale.

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ein drittes Modul enthält den DP-RAM und das kommt außen an die zwei 
anderen Module dran. Dann hast du Signale und die schließt du an den RAM 
an. So etwas wie eine globale Variable gibts in VHDL nicht, das wäre 
Software. Du machst hier Hardware.

Autor: Anfänger (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
@Christian R.

Das RAM hat jetzt sein eingenes Modul.

Wie macht man es am besten wenn man vermeiden möchte, das mehrere Module 
nicht gleichzeitig im/vom RAM schreiben/Lesen?
Reicht es wenn das Ram_Module ein Busy Signal ausgibt wenn gerade was zu 
ist?, die anderen Module sollen warten bis (Busy=0)!
oder gibts bessere Ideen?

Autor: Christian R. (supachris)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Na dann musst du natürlich einen wie auch immer gearteten Arbitrierer 
bauen. In deinen ersten Postings klang es aber nach nur einem 
Zugriffs-Modul pro Port, wieso jetzt mehrere?

Autor: Anfänger (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Ein zusätzliches Modul, das auch vom RAM lesen kann, ist jetzt 
dazugekommen: also insegsamt zwei Module dürfen lesen, eins darf 
schreiben (vielleicht kommen in der Zukunft auch andere dazu).

>...auch immer gearteten Arbitrierer bauen
Wie macht man das am besten(einfachsten)? wo finde ich links oder infos 
über das Prinzip im Net?

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




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 erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net