Hohe Laufzeit bei Enable Leitungen vermeiden

Gast #387196
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

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