www.mikrocontroller.net

Forum: FPGA, VHDL & Co. BRAM Component in eine state machine instantierien


Autor: abumarcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich habe ein problem, und zwar ich will ein Cache speicher aufbauen und 
will es aus 2 BRAM bauen und das ganze soll nur in zwei prozess methode 
implementiert werden. aber ich bekomme immer das Fehler
" ERROR:HDLParsers:164 - "D:/.Xilinx/CacheMem/mem.vhd" Line 148. parse 
error, unexpected PORT, expecting OPENPAR or TICK or LSQBRACK
WARNING:HDLParsers:901 - "D:/.Xilinx/CacheMem/mem.vhd" Line 148. Label 
Mem1 is ignored."

und ich weiß nicht woran es liegt. und hier ist eine stuck aus der state 
machine:
when save => if (r.Mem = "00000000") then
        
  Mem1 : BRAM port map(
         clka => clk,
  wea => '1',
  addra => r.Mem_addr,
  dina => r.Mem_in(161 downto 0),
  douta => r.Mem_out(161 downto 0));
                
  else

  Mem2 : BRAM port map (
    clka => clk,
  wea => '1',
  addra => r.Mem_addr,
         dina => r.Mem_in(161 downto 0),
  douta => r.Mem_out(161 downto 0));
            
         v.state := idle;
  end if;


Mem zeigt nur welche BRAM ich schreiben will. ich hoffe das jemand so 
eine problem schon gesehen hat.

Gruß

Autor: NoInstInProc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du instanziierst Komponenten in sequentiellen Befehlen?
Das geht überhaupt nicht!

Schieb beide Komponenten aus dem Prozess raus und setze
deren Signale im Prozess entsprechend der spec.

Autor: Hani Sasa (abumarcel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen Dank, du hast ja recht, und ich habs gemacht wie du gesagt hast 
und jetzt habe ich kein fehler mehr

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.