Gast
#3850037
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.
