Forum: FPGA, VHDL & Co. Hohe Laufzeit bei Enable Leitungen vermeiden


von Michael (Gast)


Lesenswert?

Hallo

Mein VHDL-Deisgn wird durch ein externes Triggersignal gesteuert. Wenn
das Trigger-Signal einen High-Pegel besitzt, dann werden Daten
digitalisiert und in einen Block-RAM geschrieben. Besitzt das
Trigger-Signal einen Low-Pegel, so werden die Daten ausgegeben.

Aus diesm Grund benutzt der größte Teil meiner Logikelemente dieses
Signal als Enable Signal oder als Reset-Signal z.B.

-- Daten aus RAM auslesen
process (CLK_RS232)

begin
   if(CLK_RS232'event and CLK_RS232 = '0')then
      if(S_RESET_OUTPUT = '1' or CLR = '1')then
         S_BLOCK_RAM  <= (others => '0');
      elsif(S_REGZ(4) = '1' and TRIGGER = '1')then
         S_BLOCK_RAM <= DOUT_RAM_B3 & DOUT_RAM_B2 & DOUT_RAM_B1;
      end if;
   end if;
end process;

Dadurch entsteht ein hohes FANOUT. Da der Treiber des Signals zu
schwach ist, werden die Laufzeiten (Delays) immer größer und somit die
Geschwindigkeit meines Systems immer langsamer.

Deshalb habe ich das Trigger-Signal schon auf einen Clock-Eingang
gelegt. Ich dachte somit kann das Signal die  Geschwindigkeit des
Clock-Netzes nutzen. Jedoch gibt er beim Routen immer Warnungen aus, da
ein Clock_Netz an einen Clock Eingang gehört und nicht an einen
Enable-Eingang.

Aber ich kann mir vorstellen das bei großen Designs viele Logikelemente
gesetzt oder zurückgesetzt werden müssen. Dort braucht man doch auch
sehr schnelle Leitungen.

Was kann ich machen? Gibt es auch einen Treiber für diese Leitungen?

Grüsse

Michael

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.