mikrocontroller.net

Forum: FPGA, VHDL & Co. Verbinden von NIOS II Softcore mit SRAM-Verilog Modul


Autor: Rene Gärtner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich arbeite auf einem NEEK von Altera (Nios II Evaluation Board) auf ihm 
ist ein Cyclone III FPGA mit 25k Zellen. aktuell arbeite ich an meiner 
Diplomarbeit und bekomme den folgenden Teil einfach nicht hin.

ich habe ein SRAM Modul das in Verilog geschrieben und angesprochen 
wird, zudem habe ich einen NIOSII Softcore als Block im SOPC Builder mit 
DDRAM erstellt. und im SOPC Builder das externe SRAM Modul mit AvalonMM 
Slave verbunden.

In den SRAM werden Bilddaten geschrieben, diese sind 768*239 Pixel groß 
und ein Pixel ist 24 Bit breit.

Nun möchte ich mit dem NIOS II Softcore Daten vom SRAM auslesen und 
weiterverarbeiten.

wie kann ich die Daten vom SRAM zB in den DDRAM transferieren. Oder gibt 
es eine möglichkeit die Daten irgendwo für beide zugänglich zu machen.

die Einbindung von einem Avalon MM Interface für das Modul in dem der 
SRAM ist habe ich schon probiert, doch bekomme ich da die Menge an Daten 
nicht anständig syncronisiert und daher auch nicht übertragen.


Übertragen werden soll der Inhalt dieses Speichers nach einem kompletten 
Durchlauf, BURST_LENGTH ist 24, mRGB sind 24 bit RGB Werte und m1RGB1
Das SRAM Modul sieht als Schnittstelle so aus :


SSRAM_Control_2Port  mine  (
//  HOST Side
.REF_CLK( CLK50),
.RESET_N( SYSTEM_RESET_n),
//  FIFO Write Side 1
.WR1_DATA( mRGB ),  // Write-Input: RGB-Werte

.WR1(( TV_DVAL  ), // Syn Signal des Displays
.WR1_ADDR(0),
.WR1_MAX_ADDR( 768 * 239),
.WR1_LENGTH( BURST_LENGTH ),
.WR1_LOAD(  ((!TD_Stable )||(!FVAL ))  ), //load signal
.WR1_CLR (  !DLY0  ),
.WR1_CLK( HC_TD_27MHZ ),
//  FIFO Read Side 1
.RD1_DATA(m1RGB),
.RD1(  R_TR  ),  //readenable
.RD1_ADDR (32 ),
.RD1_MAX_ADDR( 768 * 239 ),
.RD1_LENGTH( BURST_LENGTH  ),
.RD1_LOAD(!oVGA_V_BLANK ),
.RD1_CLR (!DLY0),
.RD1_CLK( Memory_OUT_CLK ),
//SSRAM SIDE
.FLASH_SRAM_A (FLASH_SRAM_A),
.FLASH_SRAM_DQ(FLASH_SRAM_DQ),
.SRAM_ADSC_N(SRAM_ADSC_N),
.SRAM_CE1_N(SRAM_CE1_N),
.SRAM_CLK (SRAM_CLK),
.SRAM_OE_N(SRAM_OE_N),
.SRAM_WE_N(SRAM_WE_N),
.SRAM_BE_N(SRAM_BE_N));

Wenn ihr um zu helfen noch die interne Struktur benötigt poste ich die 
gerne auch noch

Mit Hilfesuchenden Grüßen
René Gärtner

Autor: SeriousSam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heisst nicht anständig synchronisiert?

Autor: Rene Gärtner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das heißt das die Daten die ich über die Avalon MM Pipeline mittels 
IORD32 in c++ in der Software von dem VerilogModul auslese alle müll 
sind und ich nicht weiß wie ich das ändern kann.

das Avalon Interface ist so definiert:

always@ (posedge CLK25)
 begin : AVALON_INTERFACE
  nextData<=1'b0;
    if(MYWRITE == 1'b1)
    begin
    case(MYADDR)
    SCREENSHOT: screenshotreg <= MYWRITEDATA[0];
    GRAYSCALE : mgrayreg <= MYWRITEDATA[0];
    TRESH : mtreshreg <= MYWRITEDATA[0];
    default:;
  endcase
  end
  else if(MYREAD == 1'b1 )
  begin
    nextData<=1'b1;
    case(MYADDR)
    RGB_ADDR:MYREADDATA <= {8'h00,testrgb_data};
    default: MYREADDATA <= 32'hEE11FF22;
    endcase
  end
end


hier bekomme ich die Snchronisation mit dem SRAM vermutlich nicht 
korrekt hin. wie ich das genau machen kann weiß ich leider auch nicht.

Ich möchte hier vorallem wissen wie ich die Daten vom SRAM das in einem 
Verilogmodul angesprochen wird und dort Bilddaten gespeichert werden, 
von dem NIOSII Softcore der im SOPC Builder erstellt wurde und als Block 
integriert ist zugänglich zu machen.

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.