VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks
Frage zu FIFO

Anfang   zurück   weiter   Ende
Autor Beitrag
Stephan Birkhäuser
Gast
New PostErstellt: 04.09.08, 16:14  Betreff: Frage zu FIFO  drucken  Thema drucken  weiterempfehlen Antwort mit Zitat  

Hallo zusammen! Ich arbeite mit VHDL erst seit ein paar Wochen und hab folgendes Problem: Ich hab code für einen FIFO geschrieben und in Modelsim läuft alles genauso wie es soll. Bei der Synthese gibt es auch keine Fehlermeldungen aber dort wird deutlich, dass ich meinen FIFO sehr umständlich geschrieben haben muss. Meine Frage ist jetzt, wie kann ich die Performance verbessern?
Hier mein Problem:
Delay: 10.886ns (Levels of Logic = 34)
Source: difference_2 (FF)
Destination: empty_sig_BRB0 (FF)

Von dem signal difference bis zu empty gibt es 34 (!!!) logiclevel?!?! das is doch viel zu viel oder?

Ich lasse alles in einem Prozess erledigen weil ich nicht weiß wie ich das anders hinbekommen kann. Wie könnte ihc das ändern?

if (reset = '1') then
write_address <= 0;
read_address <= 0;
difference := 0;
next_write_address := 0;
full_sig <= '0';
empty_sig <= '1';
next_read_address := 0;

full <= full_sig;
empty <= empty_sig;

data_out <= (others => '0');


elsif (clock = '1' and clock'event) then

if write_request = '1' and full_sig = '0' then
next_write_address := next_write_address + 1;
difference := difference + 1;
data (write_address) <= data_in;
end if;

if read_request = '1' and empty_sig = '0' then
data_out <= data(read_address);
next_read_address := next_read_address + 1;
difference := difference - 1;
end if;

full_sig <= '0';
empty_sig <= '0';

if difference = fifo_depth then
full_sig <= '1';
end if;

if difference = 0 then
empty_sig <= '1';
end if;

full <= full_sig;
empty <= empty_sig;

write_address <= (next_write_address mod fifo_depth);
read_address <= (next_read_address mod fifo_depth);

end if;

end process;
nach oben
Dr. Faustus

Administrator

Beiträge: 107
Ort: Aßling


New PostErstellt: 24.09.08, 16:08  Betreff: Re: Frage zu FIFO  drucken  weiterempfehlen Antwort mit Zitat  

Alles in einem Process ist nicht so gut. Google mal nach Fifo und VHDL da findest du sehr viele Vorschläge wie man so etwas gut aufbaut. Viele aktuelle FPGAs haben fifos als hard-IP eingebaut (z.B. Xilinx).

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Sortierung ndern:  
Anfang   zurück   weiter   Ende
Seite 1 von 1
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj