Forum: FPGA, VHDL & Co. SRAM-Ansteuerung mit Spartan-3


von Tobias Danz (Gast)


Lesenswert?

Hallo,

ich bin grad dabei ein SRAM anzusteuern. Ich habe ein VHDL-Programm
geschrieben, welches dies tun soll. Mein Problem, das da
Verzögerungszeiten drin sind, die das auslesen der falschen Daten zur
Folge hat. Man kann mir jemand saegn, wo ich vielleicht eine andere
Variante der Ansteuerung finde?

Tobias Danz

von tobias hofer (Gast)


Lesenswert?

wie sollen wir hier sagen können wo der fehler steckt? ohne dein vhdl
code? poste ihn doch mal. und dann wären ein paar angaben zu deinem ram
auch noch vorteilhaft.

tobias

von C3PO (Gast)


Lesenswert?

Warum baust du dir nicht eine Zeitverzögerung ein ?

von Tobias Danz (Gast)


Lesenswert?

hallo, ich möchte wissen wie am besten eine globale Zeitverzögerung
einbaue, und dabei trotzdem alle Flip-Flops synchron ansteuren

von C3PO (Gast)


Lesenswert?

die Sache mit VHDL ist schon etwas her...

google doch mal nach vhdl und delay, da sollte sich doch schon was
finden lassen.

von Michael (Gast)


Lesenswert?

In dem Du ein Schiebetegister benutzt.

signal SHIFT_REGISTER : STD_LOGIC_VECTOR(9 downto 0);

begin

process(CLK,CLR,SHIFT_REGISTER)

begin

if(CLR = '1') then
   SHIFT_REGISTER <= "0000000001";
elsif(CLK event and CLK = '0')then
   SHIFT_REGISTER <= SHIFT_REGISTER(8 downto 0) & SHIFT_REGISTER(9);
end if;
end process;

-- Neuer Process

process(CLK,CLR,SHIFT_REGISTER)
if(CLR = '1')then
   Zeit_Ist_vergangen <= '0';
elsif(CLK event and CLK = '1')then -- !!!!!!!ACHTUNG wichtig andere
Flanke benutzen als im anderen Process
   if(SHIFT_REGISTER(9) = '1')then
      sind 10 Takte vergangen
      Zeist_Ist_Vergangen <= '1';
   end if;
end if;
end process;

von Jörn (Gast)


Lesenswert?

oder benutz einen freilaufenden Zähler und dessen Überlauf als Enable
Signal für Deine FFs.

von C3PO (Gast)


Lesenswert?

Der Freilaufende Zähler muß aber getriggert werden, damit die
Zeitspannen immer gleich sind !

von Jörn (Gast)


Lesenswert?

die zeitspannen sind immer gleich ... der Zähler braucht immer x Schritt
für einen Überlauf.
Nur der Startpunkt muss eindeutig sein.

von C3PO (Gast)


Lesenswert?

genau das meinte ich !Man muss den Zähler starten können.

von Tobias Danz (Gast)


Lesenswert?

Hallo michael,

indem Syntax ausschnitt von dir, ist "Zeit_Ist_vergangen" der Port
oder wie muß ich dieses Signal verstehn?
Welche Werte werden an das "shift_register" gelegt?

Tobias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.