Daten werden mit File I/O nicht eingelesen

Gast #1025438
hallo,

ich möchte eine Sinustabelle über eine Textdatei in einen selbst 
angelegten Speicher speichern und später weiterverarbeiten.

es werden keine fehlermeldungen ausgegeben, allerdings liegt in meinen 
speicher nur die zahl 1.
kann mir vielleicht einer einen tip geben, wo mein fehler liegen könnte?

Teile des Programmcodes:

-----------------------------------------------------------------------
architecture funktion of oszillator is

signal phase_width:    integer := number_phase*(8*8);    -- Gesamte 
Bitlänge der Dateninfo

signal data_clk:    std_logic;              -- Takt: Datenabfrage
signal write_clk:    std_logic;              -- Schreibtakt
signal baud_clk:    std_logic;              -- Baudtakt

type sinmemory is    array (0 to 7) of integer;
signal sinetable:    sinmemory;

------------------------------------------------------------------------

-- Sinustabelle einlesen

sinustabelle: process(clk)

variable sincounter:  integer range 0 to 7;
variable fstatus:    FILE_OPEN_STATUS;

begin

for j in 0 to 7 loop
  read(sinus_data, sinetable(sincounter));
  sincounter := sincounter + 1;
end loop;

end process sinustabelle;

------------------------------------------------------------------------
-- Sinus erzeugen

sine: process

variable sinecounter:  integer range 0 to 7;

begin

wait until rising_edge (data_clk);

sinus <= conv_std_logic_vector(sinetable(sinecounter), 12);

sinecounter := sinecounter + 1;

end process sine;
----------------------------------------------------------------------


die textdatei sieht so aus:

0
71
100
71
0
-71
-100
-71
Gast #1025656
Soll das auch synthetisiert werden? Wenn ja, auf welchem Baustein?

sincounter kannst Du Dir sparen (zumindest beim Einlesen), nimm j 
dafür. Und bau am Ende des read-Prozesses noch ein /wait;/ ein.

Duke

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.