FIFO Generator IPCore 9.3 Empty = '1' + Full = '1'

Gast #3850037
Lesenswert?

Guten Tag. Ich habe einen FIFO Generator IPCore 9.3 in einem VHDL 
Projekt erzeugt. Ich möchte einen Datensatz mit einem wr_clk ein- und 
mit einem rd_clk auslesen.

Folgende Einstellungen werden gewählt:

- Independend Clocks (RD_CLK, WR_CLK) Distributed RAM,
- Standard FIFO,
- Write Width 12,
- Write Depth 64.

Ich habe folgende Test-Bench (hier nur der Simulationsprozess) 
geschrieben:

stim_proc: process
begin
  rst <= '1';
  wait for clk_period/2;
  rst <= '0';
  for i in 1 to 1024
  loop
    data_in <= conv_std_logic_vector(i, 12);
    wait for clk_period;
  end loop;
     wait;
end process;

Es werden Daten zum Test in den FIFO geschrieben.

So sieht der relevante FIFO Teil in der VHDL main aus:

Buffer : FIFO
port map(
        rst   => rst,
  wr_clk   => clk,
  rd_clk   => rd_clk,
  din   => data_in,
  wr_en   => wr_en,
  rd_en   => rd_en,
  dout  => data_out,
  full  => full,
  empty   => empty);

wr_en <= '1';
rd_en <= '0';

Problem ist nun, dass der FIFO zu Beginn der Simulation das Bit 'Full' 
sowie das Bit 'Empty' für ein Paar Takte auf High setzt. Im Datenblatt 
zu dem Core habe ich nichts in der Art (der FIFO ist gleichzeitig leer 
und voll?!) gefunden.

Vielleicht kann mir ja einer einen Hinweis geben, wo das Problem liegen 
könnte.

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