File einlesen (bisher über package)

Gast #1326772
Lesenswert?

Hallo -
bisher hatte ich ein package, um den Inhalt des RAMS zu laden:



package loadram is

  type raminput_type is
  record
    ira  : std_logic_vector(13 downto 0);
    iri  : std_logic_vector(15 downto 0);
    iwr  : std_logic;
    istb : std_logic;
  end record;

  type ramtable_type is
    array(natural range<>) of raminput_type;
  constant ramtable : ramtable_type := (
(ira=>   "00000000" ,iri=>  "000000000" ,iwr=>  '1'),
(ira=>   "00000001" ,iri=>  "000000101" ,iwr=>  '1')
..
..
      );
  end loadram;

Das ganze soll ich nun mit file_open realisieren. Weiss aber nicht wie 
ich das in vhdl  binden soll.
Kann mir da Jemand helfen ?
Wo habe ich Probleme? Beim package kann ich die RAM Daten folgendemassen 
reinschreiben:

    for n in ramtable'range loop
      RAM_ADDR <= ramtable(n).ira;
      RAM_DI   <= ramtable(n).iri;
      RAM_W_RN <= ramtable(n).iwr;
      wait until rising_edge(SYSCLK);
    end loop;  -- n

Wie mache ich das wenn ich ein file einlese ? Wie kann ich den internen 
Signalen dann die einzelnen Werte einer Zeile zuweisen?

Wäre über Hilfe dankbar.

Grüße,
Simon
Gast #1327329
Lesenswert?

schau mal in die ISE Manuals im
>XST User Guide< im Kapitel >XST HDL Coding Techniques<
unter dem Punkt >Initializing RAM From an External File<
 (bei ISE 9.2 auf Seite 235).
Da sind eine paar schöne Beispiele, die sind Simulierbar und mit der 
Xilinx-Software synthetisierbar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren